程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php內存溢出問題

php內存溢出問題

編輯:PHP綜合

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved