php内存溢出问题 - PHP教程
发布时间:2014-12-04 23:33:44 所属栏目:PHP教程 来源:站长网
导读:PHP有很多文件目录函数,可以COPY文件,删除文件。但有的时候因为Copy的文件太大,也会导致程序出错。 ?phpheader(content-type:text/html;charset=utf-8); //
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 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


