假设代码文件存为compress.php 可以命令行运行 php ./compress.php '/home/zhouchun/www' 也可以放网站目录后运行 http://localhost/compress.php 主要用于将网站生成单一文件上传到ftp空间,这样比单独上传
可以命令行运行
php ./compress.php '/home/zhouchun/www'
也可以放网站目录后运行
http://localhost/compress.php
主要用于将网站生成单一文件上传到ftp空间,这样比单独上传快,然后运行即可释放,不需要zip支持
标签: <无>
<?php
function readFileFromDir($dir,$trimDir,$list=array())
{
if(!is_dir($dir)){
return $list;
}
$handle=opendir($dir);
while(($file=readdir($handle))!==false){
if($file=='.'||$file=='..'||$file==basename($_SERVER['SCRIPT_NAME'])){
continue;
}
$file=$dir.DIRECTORY_SEPARATOR.$file;
if($trimDir!='.'){
$trimPath=str_replace($trimDir,'.',$file);
}
else{
$trimPath=$file;
}
if(is_file($file)){
$list[]=array('type'=>'file','path'=>$trimPath,'content'=>base64_encode(file_get_contents($file)));
}
else if(is_dir($file)){
$list[]=array('type'=>'dir','path'=>$trimPath);
$list=readFileFromDir($file,$trimDir,$list);
}
}
closedir($handle);
return $list;
}
if(isset($argv)){
$dir=$argv[1];
}
else{
$dir='.';
}
$list=readFileFromDir($dir,$dir);
$code=array();
$data=base64_encode(json_encode($list));
$code[]='<?php';
$code[]='$list=json_decode(base64_decode("'.$data.'"),true);';
$code[]='foreach($list as $item){if($item["type"]=="dir"){mkdir($item["path"],0777);}else{file_put_contents($item["path"],base64_decode($item["content"]));}}';
$code[]='echo "ok";';
$code[]='?>';
$code=implode(PHP_EOL,$code);
$name=date('YmdHis').'.php';
file_put_contents($name,$code);
echo 'ok->'.$name;
?>
