Rumah  >  Soal Jawab  >  teks badan

Operasi ftp_put PHP gagal

<p>Saya memuat naik fail XML melalui FTP: </p> <pre class="brush:php;toolbar:false;">$ftp = "ftp"; $nama pengguna = "nama pengguna"; $pwd = "Kata Laluan"; $nama fail = $_FILES[$xyz][$abc]; $tmp = $_FILES['fail']['tmp_name']; $destination = "/Content/EnquiryXML "; $connect = ftp_connect($ftp)or die("Tidak dapat menyambung ke hos"); ftp_login($connect,$username,$pwd)atau die("Kebenaran gagal"); echo "Bersambung!<br/>"; jika(!$nama fail) { echo "Sila pilih fail"; } lain { ftp_put($connect,$destination.'/'.$filename,$tmp,FTP_ASCII)atau die("Tidak dapat memuat naik"); echo "Fail berjaya dimuat naik ke FTP"; }</pre> <p>Saya mahu menghantar fail XML yang dibuat menggunakan <code>DOMDocument</code> </p> <p><kod>ftp_put</code> </p>
P粉884548619P粉884548619444 hari yang lalu698

membalas semua(2)saya akan balas

  • P粉225961749

    P粉2259617492023-08-25 18:30:59

    Ini berjaya:

    // 连接并登录到FTP服务器
    $ftp_server = "主机";
    $ftp_username = "用户名";
    $ftp_userpass = "密码";
    $ftp_conn = ftp_connect($ftp_server) or die("无法连接到 $ftp_server");
    $login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
    $file ="$abc";
    
    // 上传文件
    if (ftp_put($ftp_conn, "/$abc" , $file, FTP_ASCII)){
        echo "成功上传文件 $file。";
    } else {
        echo "上传文件 $file 出错";
    }
    
    // 关闭连接
    ftp_close($ftp_conn);

    balas
    0
  • P粉056618053

    P粉0566180532023-08-25 15:46:37

    membawa kepada ftp_put(或任何其他传输命令,如ftp_getftp_nlistftp_rawlistftp_mlsd)出现问题的最常见原因是PHP默认为主动模式。在99%的情况下,需要切换到被动模式才能使传输正常工作。使用ftp_pasv fungsi .

    $connect = ftp_connect($ftp) or die("无法连接到主机");
    ftp_login($connect, $username, $pwd) or die("授权失败");
    // 打开被动模式
    ftp_pasv($connect, true) or die("无法切换到被动模式");
    Dipanggil selepas

    ftp_pasv必须在ftp_login. Memanggilnya sebelum ini tidak memberi kesan.

    Lihat juga:


    Selain itu, jika pelayan FTP anda melaporkan alamat IP yang salah semasa membalas PASVarahan (ini agak biasa jika pelayan berada di belakang firewall/NAT), anda mungkin perlu menyelesaikannya dengan menggunakan:

    ftp_set_option($connect, FTP_USEPASVADDRESS, false);

    Lihat PHP FTP + pelayan FTP pasif di belakang NAT.

    Walaupun dalam kes ini penyelesaian yang betul adalah untuk membetulkan pelayan.

    balas
    0
  • Batalbalas