Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apabila Pemindahan Fail FTP dengan ftp_put Gagal dalam PHP, Adakah Ia Disebabkan oleh Mod FTP Ditetapkan Dengan Tidak Betul?

Apabila Pemindahan Fail FTP dengan ftp_put Gagal dalam PHP, Adakah Ia Disebabkan oleh Mod FTP Ditetapkan Dengan Tidak Betul?

Linda Hamilton
Linda Hamiltonasal
2024-10-23 21:16:02975semak imbas

When an FTP File Transfer with ftp_put Fails in PHP, Is It Caused by FTP Mode Improperly Set?

Menyelesaikan masalah Kegagalan ftp_put dalam PHP

Masalah:

Apabila cuba memuat naik fail XML ke pelayan FTP menggunakan fungsi ftp_put dalam PHP, operasi gagal, mengembalikan false.

Punca:

Satu punca biasa kegagalan ftp_put ialah PHP lalai menggunakan mod FTP aktif, yang selalunya tidak serasi dengan banyak pelayan FTP disebabkan oleh tembok api atau sekatan rangkaian. Beralih kepada mod pasif biasanya menyelesaikan isu ini.

Penyelesaian:

Untuk beralih kepada mod pasif dalam PHP, gunakan fungsi ftp_pasv selepas mewujudkan sambungan FTP:

<code class="php">$connect = ftp_connect($ftp) or die("Unable to connect to host");
ftp_login($connect, $username, $pwd) or die("Authorization failed");

// Turn passive mode on
ftp_pasv($connect, true) or die("Unable to switch to passive mode");</code>

Pertimbangan Tambahan:

  • Pastikan fungsi ftp_login dipanggil sebelum menggunakan ftp_pasv. Jika tidak, ia tidak akan memberi sebarang kesan.
  • Jika pelayan FTP melaporkan alamat IP yang salah sebagai tindak balas kepada arahan PASV, pertimbangkan untuk menggunakan pilihan berikut:
<code class="php">ftp_set_option($connect, FTP_USEPASVADDRESS, false);</code>
  • Perhatikan bahawa menukar kepada mod pasif mungkin tidak mencukupi jika konfigurasi pelayan FTP atau tetapan tembok api menyebabkan masalah. Dalam kes sedemikian, berunding dengan pentadbir pelayan untuk menentukan punca dan melaksanakan pembetulan yang diperlukan.

Atas ialah kandungan terperinci Apabila Pemindahan Fail FTP dengan ftp_put Gagal dalam PHP, Adakah Ia Disebabkan oleh Mod FTP Ditetapkan Dengan Tidak Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn