Welcome 微信登录

首页 / 网页编程 / PHP / php内存溢出问题

php内存溢出问题2014-10-18PHP有很多文件目录函数,可以COPY文件,删除文件。但有的时候因为Copy的文件太大,也会导致程序出错。

<?phpheader("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失效.

那这个时候我们可以用这段程序。

<?phpheader("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