日期:2014-05-16  浏览次数:20621 次

关于这个mkdir()的错误我没想明白

$img = array
(
    "./web/su.bdimg.com/static/superpage/css/../img/spis_9762e054.png",
    "./web/su.bdimg.com/static/superpage/css/../img/baidu_fm_gif_72f357cc.gif",
    "./web/su.bdimg.com/static/superpage/css/../img/guide_sprite_df6dde4a.png",
    "./web/su.bdimg.com/static/superpage/css/../img/cite_sprite_121e6560.png",
    "./web/su.bdimg.com/static/superpage/css/../img/hotnews_ac6c5b7e.png",
    "./web/su.bdimg.com/static/superpage/css/../img/hotnews_ie_ca7d3ffd.png"
);

foreach($img as $v){
$a=dirname($v);
echo $a,'<br/>';
if(!file_exists($a) && mkdir($a,0777,true)){
echo $a.'<font color="green">路径创建成功</font><br/>';
}
}

------解决方案--------------------
file_exists检查文件是否存在
要检查目录应当用is_dir 不然你那个检查无效。第二次循环的时候 就会报 文件目录已存在的警告!
------解决方案--------------------

@mkdir($a,0777,true) 这样也可以,但是楼上说的很对。