加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读