您的位置:

php文件切割,php视频切片

本文目录一览:

php 批量大文件上传下载如何实现?

1.首先还是查看环境是否支持超大容量上传的支持,500M以上的文件通常为视频文件;

2.即然他要上传500M以上的文件,估计服务器性能必定非同凡想,所以暂可不考虑服务器硬件配置问题,但一定要考虑到网速问题,建议1000M以上出入速率,如少于这个数,你可以放弃这个方案了;

3.前面硬件都过关了,但程序也要加强了,一下上传500M是哪种语言都不能实现的,唯一解决方案,文件切割,如迅雷下载原理一样(采用续点上传),分成若干小块,然后全部上传完毕以后,再进行文件合成。

4.至于PHP的文件切割,切割后上传,以及文件合并,此类代码网上有许多,楼主可查询并选择适合你的代码,实现你的功能!

php,perl等脚本软件分割一个文件为多个TXT文件的问题。

#语言:perl

#程序test.pl

#用法:test.pl 参数

#其中,参数为你要处理的文件路径

#输出文件都是className.txt,你也可以改后缀名,这个在程序中很容易看见

#!/usr/bin/perl

use strict;

if (!defined $ARGV[0]) {

print "用法提示:test.pl [处理的文件路径]\n\t\teg.test.pl c:\\a.txt\n";

exit(-1);

}

if (!-e "$ARGV[0]") {

print "文件($ARGV[0])不存在!\n";

exit(-1);

}

my $path = $ARGV[0];

my %Content;

if (!open FILE,"$path") {

print "无法打开权限!\n";

exit(-1);

}

else{

my $flag = 0;

my $i;

my ($temp,@line,$line);

foreach (FILE) {

chomp;

$line = $_;

# $_ = s/,$//;

next if ($_ =~ /^\s+$/);

@line = split /,/;

if ($flag == 0) {

$temp = $line."\n";

for ($i = 0;$i = $#line;$i++){

if ($line[$i] =~ /className/i){

$flag = 1;

last;

}

}

}

else{

$Content{$line[$i]} .= $temp.$line."\n";

$flag = 0;

}

}

close FILE;

}

foreach my $name (keys %Content) {

if (!open TXT,"$name.txt") {

print "无法写:$name.txt";

next;

}

else{

print TXT $Content{$name};

close TXT;

}

}

print "succeed!\n";

php中如何分割文本

PHP用空格分割文本为数组的方法:

php逐行读取文本文件,然后处理空格分隔文本,输出为数组的方法。

文本文档text.txt内容:

1 字段1 字段2 2 字段1 字段2 3 字段1 字段2 4 字段1 字段2

文本和文本之间用空格隔开,用php经过处理,输出为数组,以下是代码:

php $file = fopen("text.txt", "r") or exit("Unable to open file!");

while(!feof($file)) { $arr = split(' ' , fgets($file)); print_r($arr); } fclose($file);

输出结果:

Array ( [0] = 1 [1] = 字段1 [2] = 字段2 ) Array ( [0] = 2 [1] = 字段1 [2] = 字段2 ) Array ( [0] = 3 [1] = 字段1 [2] = 字段2 ) Array ( [0] = 4 [1] = 字段1 [2] = 字段2 )

这样就实现了PHP用空格分割文本为数组的方法.

PHP如何根据时间段切割音频文件

可以调用 ffmpeg 来实现

ffmpeg -i 输入音频文件路径 -ss 起始时间 -t 长度 输出文件名

php截取文件扩展名

解决楼主的问题的方法就是,分开写代码,即:

$filearr

=

split(".",$filename);

$filetype

=

end($filearr);

split

函数用来分割字符串的时候,基本等同于函数

preg_grep,分割表达式可以是一个正则表达式,也可以是一个普通字符串,所以本身的执行效率很低,这一点你要记得……

所以,实现你现在的这个需求的话,最好用explode函数,使用普通字符作为分割表达式……

但是也的确如楼上所说,split

函数(PHP里)已经弃用,你可以使用

preg_match、preg_match_all

、preg_grep

等使用正则表达式作为分割的函数来替代。

就整个你的需求而言,你的思路还不很好,当一个文件名是【a.b.c.d.e.f.g.php】的时候,程序要浪费多余的资源来分割其实你不用的a、b、c……,

所以要简单满足你取后缀名的需求的代码应该是:

$filetype=substr(strrchr($filename,'.'),1);

此外还有:$path_info

=

pathinfo($filename);

$filetype

=

$path_info['extension'];

其实不是很推荐。

下面比较一下它们各自的执行效率:

设文件名是:aaa.bb.php、循环执行10000次;执行10次取平均值:

split

+

end

:0.067644s

explode

+

end

:0.016251s

pathinfo

+

['extension']

:0.018983s

strrchr

+

substr

:0.008611s

【以上文字现场版纯手敲,2012-2-25

10:41,谢谢】

php分割txt文本

如果文件不是很大的情况,试试下面这个:

?php

function split_file($file_name, $number_lines)

{

    try

    {

        if(!file_exists($file_name)) throw new Exception("文件不存在!");

        $contents_array = array_chunk(file($file_name), $number_lines);

        if(!$contents_array || !is_array($contents_array)) throw new Exception("文件内容不合法!");

        array_walk($contents_array, function($contents, $k){

            foreach($contents as $value){

                file_put_contents($k . '.txt', $value, FILE_APPEND);

            } 

        });

    }

    catch(Exception $e)

    {

        echo $e-getMessage();    

    }

}

split_file("README.md", 200);