有人可以告诉我这段代码中做错了什么吗?
if($id != '') {
if(is_dir("../public_html".$tem_pasta['path']."/pics/".$id)) {
echo "pasta já existia";
$destination_file = "../public_html".$tem_pasta['path']."/pics/".$id."/".$myFileName;
} else {
//pasta nao existia
if (ftp_mkdir($conn_id, "../public_html".$tem_pasta['path']."/pics/".$id)) {
$destination_file = "../public_html".$tem_pasta['path']."/pics/".$id."/".$myFileName;
//echo "pasta criada<br>";
} else {
echo "erro, não criou a pasta<br>";
}
}
} else {
$destination_file = "../public_html".$tem_pasta['path']."/pics/".$myFileName;
}
它会检查我的 pics 目录中是否有文件夹 ($id),如果没有,脚本会创建一个新文件夹。
效果很好,但是如果我尝试将另一个文件上传到之前创建的文件夹,它会返回一个错误,说它没有创建该文件夹...
thanks
我不认为你可以在 FTP 资源上使用 is_dir ,你应该做的是用 ftp_size 检查目录/文件的大小是否为 -1 。
因为我认为现在发生的情况是:您试图再次创建相同的文件夹,这就是发生错误的原因。
编辑:
或者检查ftp_chdir http://nl.php.net/manual/en/function.ftp-chdir.php!
<?php
function ftp_directory_exists($ftp, $dir)
{
// Get the current working directory
$origin = ftp_pwd($ftp);
// Attempt to change directory, suppress errors
if (@ftp_chdir($ftp, $dir))
{
// If the directory exists, set back to origin
ftp_chdir($ftp, $origin);
return true;
}
// Directory does not exist
return false;
}
?>
应该管用!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)