if(file_exists($local_file)){
        $file = pathinfo($local_file);
        $getFileName = date("ymd").rand(1000,9999);
        //$remote_file .= $date("ymd")."/";   
        $new_file = "{$getFileName}.".$file['extension'];
        //创建FTP
        $ftp = ftp_connect($ftpUrl) or die("Could not FTP connect");
        //登录
        ftp_login($ftp,$ftpUser,$ftpPassword);
        //模式
        ftp_pasv($ftp,$ftpPasv);
        //传输
        $ftpStatus = ftp_put($ftp,$remote_file.$new_file,$local_file,FTP_BINARY);
        if($ftpStatus){
            $out['msg'] = $new_file;            
        }
        else{
           $out['err'] = '文件上传失败[ftp]';
        }
        ftp_quit($ftp);
        
    }else{
        $out['err'] = $local_file.'未发现上传的文件';
    
FTP上传时怎么解决中文路径和中文名称?如果是英文或者数字的就可以正常上传,如果路径和文件名称包含了中文则不能上传。
请请教一下。

解决方案 »

  1.   

    中文解决了,可在其它电脑访问则提示无权限:
    Warning: ftp_put(E:\\ucenter.rar) [function.ftp-put]: failed to open stream: Permission denied in G:\htdocs\cqtbbs\upanddown.php on line 38
    {"err":"\u6587\u4ef6\u4e0a\u4f20\u5931\u8d25[ftp]"}不知道是啥原因引起的。如果file_exists检查本地文件,则找不到,真是很奇怪呀。我本机测试完全正常!
    请帮一下。谢谢!
      

  2.   

    我的表单为:
    <form>
    <input type="text" name="udfiles" id="udfiles" value="" />'
    </form>我发现在其它电脑是访问,上传的话查找的文件是服务器端的文件并不是本地的文件,是怎么回事呢?请高手帮忙一下。
    分数不够,可以加!
      

  3.   

    是不是先要像http方式上传到服务器,在进行FTP?
    <input type="text" name="udfiles" id="udfiles" value="" />
    不能使用text应该是file?