Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP ftp_放入创建文件,但不';别动_Php - Fatal编程技术网

PHP ftp_放入创建文件,但不';别动

PHP ftp_放入创建文件,但不';别动,php,Php,我正在尝试通过FTP连接将文件从一台服务器发送到另一台服务器。我能够创建连接并将文件发送到我想要的文件夹 该文件已创建,但有0个字节。此外,php函数在一段时间后失败,并显示以下错误消息: 连接超时 我还更改了接收文件的服务器上文件夹的权限,它具有publicread、write和execute权限,但是,当新文件到达服务器时,它没有默认权限,只有read 我可能做错了什么 这是我的代码: $localFile = $_SERVER['DOCUMENT_ROOT'].'/images/'.$fi

我正在尝试通过FTP连接将文件从一台服务器发送到另一台服务器。我能够创建连接并将文件发送到我想要的文件夹

该文件已创建,但有0个字节。此外,php函数在一段时间后失败,并显示以下错误消息:

连接超时

我还更改了接收文件的服务器上文件夹的权限,它具有public
read
write
execute
权限,但是,当新文件到达服务器时,它没有默认权限,只有
read

我可能做错了什么

这是我的代码:

$localFile = $_SERVER['DOCUMENT_ROOT'].'/images/'.$file;
$moveFile  = '/public_html/images/'.$file;

$ftp_server   = 'ftp.mywebsite.com';
$ftp_username = 'xxxxxx';
$ftp_password = 'xxxxxx';

$ftp_connection = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$ftp_login      = ftp_login($ftp_connection, $ftp_username, $ftp_password);

if ( ftp_put($ftp_connection, $moveFile, $localFile, FTP_ASCII) ) {
    print_r('Completed');
} else {
    print_r('Error');
}

我遇到了同样的问题,通过设置
ftp\u-pasv($conn\u-id,true)解决了这个问题ftp登录后-我的代码如下-

$ssl_connection_id = ftp_ssl_connect(FTP_HOST);
if($ssl_connection_id) 
{
  $login = ftp_login($ssl_connection_id,FTP_USERNAME, FTP_PASSWORD);
  ftp_pasv($ssl_connection_id, true);
  if($login)
  {
     if (ftp_put($ssl_connection_id,FTP_PATH.$filename, $localFile, FTP_ASCII)) 
     {
         echo "successfully uploaded \n";

     } 
   }
}

仅此而已,另一个区别是,我使用IP地址而不是url(ftp.mywebsite.com),比如5.xx.xx.xxx

让我知道它是否有用是的!成功了。有一件事我必须改变
FTP\u ASCII
不起作用,当我改为
FTP\u BINARY
时,它100%起作用。知道为什么会这样吗?顺便说一句,在这个测试中,我上传了图像。当两台服务器的操作系统不同时,FTP_ASCII可能会出现文本文件(html、css)以外的错误,但FTP_二进制文件对非文本文件(图像、视频)正常工作。谢谢你的帮助=D