PHP: 使用ftp_put 导致错误,如何找到原因?
PHP: Using ftp_put results in an error, how find reason?
我正在使用 PHP 创建导出文件。创建文件后,我希望将其移动到另一个 ftp 位置。文件创建顺利,ftp-连接似乎也顺利,但文件的 transfer/uploading 导致错误。
我已经使用 Filezilla 检查了凭据和路径,并认为 FTP 路径是正确的。
此代码出了什么问题,或者我如何从代码中获得更多反馈以找出导致错误的原因?
这是代码的一部分。我在文件创建完成后拿起它(所以这一切都发生在同一个文件中):
fclose($myfile);
$conn->close();
//Move file to ftp-server
$ftp_server = "ftp.domain.com";
$ftp_username = "username";
$ftp_userpass = "password";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$remote_location = "/public_html/testdir";
$file = "export.csv";
// upload file
if (ftp_put($ftp_conn, $remote_location, $file, FTP_ASCII))
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}
// close connection
ftp_close($ftp_conn);
所以我得到的错误是:"Error uploading export.csv." 该文件与 php 文件存在于同一目录中,即 运行 代码。
请温柔点...
据我所知,ftp_put 接受第二个参数,在您的示例中是 $remote_location 作为文件名而不是 directory/folder 名称。所以这个变量
$remote_location = "/public_html/testdir";
假设“/public_html/testdir”是一个目录是无效的。
因此您应该将其更改为指向一个文件:“/public_html/testdir/example.csv”
此致
我正在使用 PHP 创建导出文件。创建文件后,我希望将其移动到另一个 ftp 位置。文件创建顺利,ftp-连接似乎也顺利,但文件的 transfer/uploading 导致错误。
我已经使用 Filezilla 检查了凭据和路径,并认为 FTP 路径是正确的。
此代码出了什么问题,或者我如何从代码中获得更多反馈以找出导致错误的原因?
这是代码的一部分。我在文件创建完成后拿起它(所以这一切都发生在同一个文件中):
fclose($myfile);
$conn->close();
//Move file to ftp-server
$ftp_server = "ftp.domain.com";
$ftp_username = "username";
$ftp_userpass = "password";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$remote_location = "/public_html/testdir";
$file = "export.csv";
// upload file
if (ftp_put($ftp_conn, $remote_location, $file, FTP_ASCII))
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}
// close connection
ftp_close($ftp_conn);
所以我得到的错误是:"Error uploading export.csv." 该文件与 php 文件存在于同一目录中,即 运行 代码。
请温柔点...
据我所知,ftp_put 接受第二个参数,在您的示例中是 $remote_location 作为文件名而不是 directory/folder 名称。所以这个变量
$remote_location = "/public_html/testdir";
假设“/public_html/testdir”是一个目录是无效的。
因此您应该将其更改为指向一个文件:“/public_html/testdir/example.csv”
此致