php内存溢出

字体大小: 中小 标准 ->行高大小: 标准
PHP有很多文件目录函数,可以COPY文件,删除文件。但有的时候因为Copy的文件太大,也会导致程序出错。
 




1.<?php  
2.header("content-type:text/html;charset=utf-8");  
3.//方案一:  
4.$rs = file_get_contents("1.flv");  
5.file_put_contents("2.flv",$rs);  
6.?>  

 

譬如这个文件1.flv是个视频文件的话,他的内存就会占用很多,都会有个几百兆,一般都会超过php默认的内存。php默认的内存在php.ini里。
 


我的这个默认的是128M,当然这个可以自己设置,ini_set(‘memory_limit’,’128M’); 重置php可以使用的内存大小为128M,但是一般在远程主机上是不能修改php.ini文件的,只能通过程序设置。注:在safe_mode(安全模式)下,ini_set失效.
 
那这个时候我们可以用这段程序。
 




1.<?php  
2.header("content-type:text/html;charset=utf-8");  
3.//方案二:  
4.$src = fopen("1.flv","r");  
5.$des = fopen("2.flv","w");  
6.while($str = fread($src,4096)){  
7.   fwrite($des,$str);  
8.}  
9.fclose($des);  
10.fclose($src);  
11.echo "-------";  
12.?>  
方案二我们用的是一个循环,每次只写入4M。这样就不会发生内存溢出的问题了。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/68267.html