使用array_flip: key,value 位置交换
isset判断是否有值
使用以上2个函数 比in_array效率高很多。
例子:
$GLOBALS['file_arr'] = array_flip($file_list);
upfiles($folder_nm,$folder_nm);
function upfiles($file_path,$path){
foreach(scandir($path) as $afile)
{
if($afile=='.'||$afile=='..') continue;
if(is_dir($path.'/'.$afile)) {
upfiles($file_path,$path.'/'.$afile);
}else {
$item = $path.'/'.$afile;
$subfix = explode('.',$item);
if(strlen($subfix[1]) == 0){
echo "图片名:".$item."没有后缀,不上传。"."\n";
continue;
}
// var_dump($files['20000/4a/149650.jpg']);exit;
$files = $GLOBALS['file_arr'];
if($files && isset($files[$item])){
echo "图片名".$files[$item]."已存在,不上传。"."\n";
continue;
}
// if(strstr($file_list,$item)){
// continue;
// }
file_put_contents("upload_".$file_path.".txt", $item."\r\n", FILE_APPEND);
echo $item."\n";
upload($item);
echo "图片上传成功。"."\n";
}
}
}
参考: http://www.tuicool.com/articles/6vErea