PHP有很多文件目錄函數,可以COPY文件,刪除文件。但有的時候因為Copy的文件太大,也會導致程序出錯。
<?php
header("content-type:text/html;charset=utf-8");
//方案一:
$rs = file_get_contents("1.flv");
file_put_contents("2.flv",$rs);
?>
譬如這個文件1.flv是個視頻文件的話,他的內存就會占用很多,都會有個幾百兆,一般都會超過php默認的內存。php默認的內存在php.ini裡。

我的這個默認的是128M,當然這個可以自己設置,ini_set(‘memory_limit’,’128M’); 重置php可以使用的內存大小為128M,但是一般在遠程主機上是不能修改php.ini文件的,只能通過程序設置。注:在safe_mode(安全模式)下,ini_set失效.
那這個時候我們可以用這段程序。
<?php
header("content-type:text/html;charset=utf-8");
//方案二:
$src = fopen("1.flv","r");
$des = fopen("2.flv","w");
while($str = fread($src,4096)){
fwrite($des,$str);
}
fclose($des);
fclose($src);
echo "-------";
?>
方案二我們用的是一個循環,每次只寫入4M。這樣就不會發生內存溢出的問題了。
URL:http://www.bianceng.cn/webkf/PHP/201410/45961.htm