增加文本和自动chmod脚本

时间:2013-01-17 18:49:06

标签: php optimization increment chmod

我有一个创建和编辑文件的脚本块

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,该怎么办?需要大量的页面源?也许在滚动框中回显,但如何在不写入磁盘的情况下做到这一点?

如何优化此代码?

1 个答案:

答案 0 :(得分:1)

chmod执行如下:

chmod(DIR,MODE);

chmod(“/ directory / file.html”,0777);

在程序的客户端需要相当长的时间,如果有足够的文件,甚至可能会超时。这需要相当多的资源。