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);

原創文章,作者:YAJP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145725.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YAJP的頭像YAJP
上一篇 2024-10-27 23:52
下一篇 2024-10-27 23:52

相關推薦

發表回復

登錄後才能評論