Operasi ftp_put PHP gagal
P粉884548619
2023-08-24 22:05:13
<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>
Ini berjaya:
membawa kepada
Dipanggil selepasftp_put
(或任何其他传输命令,如ftp_get
、ftp_nlist
、ftp_rawlist
、ftp_mlsd
)出现问题的最常见原因是PHP默认为主动模式。在99%的情况下,需要切换到被动模式才能使传输正常工作。使用ftp_pasv
fungsi .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
PASV
arahan (ini agak biasa jika pelayan berada di belakang firewall/NAT), anda mungkin perlu menyelesaikannya dengan menggunakan:Lihat PHP FTP + pelayan FTP pasif di belakang NAT.
Walaupun dalam kes ini penyelesaian yang betul adalah untuk membetulkan pelayan.