gpt4 book ai didi

php ftp 检查文件夹是否存在总是返回错误创建文件夹

转载 作者:可可西里 更新时间:2023-10-31 23:55:06 26 4
gpt4 key购买 nike

有人可以告诉我我在这段代码中做错了什么吗?

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;
}

它会检查我的图片目录中是否有文件夹 ($id),如果没有,脚本会创建一个新文件夹。工作正常,但如果我尝试将另一个文件上传到之前创建的文件夹,它会返回一个错误,说它没有创建文件夹...

谢谢

最佳答案

我认为您不能在 FTP 资源上使用 is_dir,您应该做的是使用 ftp_size 检查目录/文件的大小是否为 -1。

因为我认为现在发生的情况是:您正在尝试再次创建同一个文件夹,这就是发生错误的原因。

编辑:或查询 ftp_chdir !

<?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;
}
?>

应该可以!

关于php ftp 检查文件夹是否存在总是返回错误创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com