- <?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;
- ?>
- //该片段来自于http://www.codesnippet.cn/detail/1312201615186.html
来源: http://www.codesnippet.cn/detail/1312201615186.html