[英]My php script does not upload my file with ftp correctly
在我下面的 php 代码中,我正在尝试上传文件。 我从有关该主题的其中一篇文章中改编了这段代码。 我必须上传的文件有一个序列号作为名称的一部分,每天递增。 所以我使用 glob function 将文件名放在一个数组中并循环遍历该数组。 该脚本有效,但在服务器上创建的文件为空。 我看到了对我的问题的回答,即使用
ftp_pasv($conn_id, true);
但是我在脚本中确实有这个,它对我不起作用。 我希望有人可以帮助我找到问题所在。 我在 ubuntu 18.04 工作,还连接到一台 unix 机器。 作为一个额外的问题,我将如何在传输后删除本地文件。 感谢您的理解。 代码如下。
#!/usr/bin/php
<?php
//define some variables
$ftp_server='server-address';
//set up basic connection
$conn_id = ftp_connect($ftp_server);
$ftp_user_name="myuser";
$ftp_user_pass="mypasswd";
$remote_path = "/";
$local_path="./";
chdir($local_path);
$local_file = glob("$local_path/OBS*");
$arrlength=count($local_file);
$cur_dir= getcwd();
echo $cur_dir . "\n";
//exit;
//login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
print_r(ftp_nlist($conn_id,"."));
for($x=0;$x<$arrlength;$x++){
//upload $local_file and save to $remote_path
if(ftp_put($conn_id, "$local_path/$local_file[$x]", $remote_path, FTP_ASCII)){
echo "Successfully written to $remote_path)\n";
}
else {
echo "There was a problem\n";
}
}
//close the connection
ftp_close($conn_id);
?>
像这样尝试
if(ftp_put($conn_id, "$local_path/$local_file[$x]", $remote_path, FTP_BINARY)){
echo "Successfully written to $remote_path)\n";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.