PHP的FTP检查文件夹是否存在总是返回错误创建文件夹 [英] php ftp check if folder exists always return error creating folder

查看:575
本文介绍了PHP的FTP检查文件夹是否存在总是返回错误创建文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  if($ id!='')有人可以告诉我我在做什么错了吗? ){
if(is_dir(../ public_html。$ tem_pasta ['path']。/ pics /\".$ id)){
echopastajá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;
//回声pasta criada br>;
} else {
echoerro,nãocriou a pasta< br>;
}
}
} else {
$ destination_file =../public_html\".$tem_pasta['path'].\"/pics/\".$myFileName;
}

它会检查我的图片目录中是否有文件夹($ id) ,如果不是该脚本创建一个新的。
的效果很好,但是如果我尝试上传另一个文件到上一个创建的文件夹,它会返回一个错误,说它没有创建文件夹...



感谢

解决方案

is_dir 仅适用于本地文件系统。如果你想检查一个ftp目录是否已经存在,试试这个:

  function ftp_is_dir($ ftp,$ dir)
{
$ pushd = ftp_pwd($ ftp);
$ b $ if($ pushd!== false&& ftp_chdir($ ftp,$ dir))
{
ftp_chdir($ ftp,$ pushd);
返回true;
}

return false;
}

if($ id!=''){
if(ftp_is_dir($ conn_id,../public_html\".$tem_pasta['path']。) /pics/\".$id)){
//等等...


can someone please tell me what I'm doing wrong in this code?

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

it checks if I've a folder ($id) within my pics directory, and if not the script creates a new one. works good, but if I try to upload another file to the previous created folder it does return an error, saying it didn't create the folder...

thanks

解决方案

is_dir works only on the local file-system. If you want to check if a ftp-directory already exists try this:

function ftp_is_dir($ftp, $dir)
{
    $pushd = ftp_pwd($ftp);

    if ($pushd !== false && @ftp_chdir($ftp, $dir))
    {
        ftp_chdir($ftp, $pushd);   
        return true;
    }

    return false;
} 

if($id != '') {
    if(ftp_is_dir($conn_id, "../public_html".$tem_pasta['path']."/pics/".$id)) {
    // and so on...

这篇关于PHP的FTP检查文件夹是否存在总是返回错误创建文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆