我有一个创建和编辑文件的脚本块
foreach ($files as $file)
{
$info['founded']++;
$Checkfile = file_get_contents($file);
if(!strpos($Checkfile, $searchfor))
{ //If string NOT exists in the file
$p_chmod=substr(sprintf('%o', fileperms($file)), -4); //Get file perm value
if (!is_writable($file))
{ //if is NOT writable
if(chmod($file,0777)) //Try to set perm
{ //If perm sett
$t_mod=@filemtime($file);
$str=file_get_contents($file);
$sub_count= substr_count($str,$place);
if ($sub_count>0)
{
$info['replaces'] += $sub_count;
$info['edited_files']++;
$str=str_replace($place,$frame,$str);
file_put_contents($file,$str);
@touch($file,$t_mod,$t_mod);
@chmod($file,$p_chmod);
}
} //If perm NOT sett
else $info['nowritable']++;
}
} //if file is writable
else
{
$t_mod=@filemtime($file);
$str=file_get_contents($file);
$sub_count= substr_count($str,$place);
if ($sub_count>0)
{
$info['replaces'] += $sub_count;
$info['edited_files']++;
$str=str_replace($place,$frame,$str);
file_put_contents($file,$str);
@touch($file,$t_mod,$t_mod);
@chmod($file,$p_chmod);
}
}
}
else //If string exists in the file
{
$info['exist_files']++;
}
return $info;
}
以及如何回应已创建的文件,例如
$info['foundedFiles']= text & \n & text;
echo $info['foundedFiles']
如果创建的文件大约是10000,该怎么办?需要大量的页面源?也许在滚动框中回显,但如何在不写入磁盘的情况下做到这一点?
如何优化此代码?
答案 0 :(得分:1)
chmod执行如下:
chmod(DIR,MODE);
chmod(“/ directory / file.html”,0777);
在程序的客户端需要相当长的时间,如果有足够的文件,甚至可能会超时。这需要相当多的资源。