Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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_Upload_Ftp - Fatal编程技术网

PHP FTP上传不工作

PHP FTP上传不工作,php,upload,ftp,Php,Upload,Ftp,我试图做的是使用PHP通过FTP自动上传zip文件,然后提取zip文件。然而,首先要做的是:我在使用PHP的ftp_put函数上传zip文件时遇到了麻烦。这是我的剧本: // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $user, $pass); //<!--sam

我试图做的是使用PHP通过FTP自动上传zip文件,然后提取zip文件。然而,首先要做的是:我在使用PHP的ftp_put函数上传zip文件时遇到了麻烦。这是我的剧本:

// set up basic connection
$conn_id = ftp_connect($ftp_server); 

// login with username and password
$login_result = ftp_login($conn_id, $user, $pass); //<!--same as cPanel account user and pass?

// check connection
if ((!$conn_id) || (!$login_result)) { 
    echo "FTP connection has failed!";
    echo "Attempted to connect to $ftp_server for user $user"; 
    exit; 
} else {
    echo "Connected to $ftp_server, for user $user";
}

// server & file info
$file = 'phpBB3.zip';
$ftp_root = '/public_html/';
$site_root = $_SERVER['DOCUMENT_ROOT'].'/scripts/';

// >>>HERE<<<
// upload the file
// >>>HERE<<<
$upload = ftp_put($conn_id, $ftp_root .$file, $site_root . $file, FTP_BINARY);

// check upload status
if (!$upload) { 
    echo "FTP upload has failed!";
} else {
    echo "Uploaded $file to $ftp_server as $file";
}

// unzip the uploaded file (from FTP?)
$unzip = shell_exec("unzip {$file}"); //<!-- how to do this through FTP uploaded files?

// close the FTP stream 
ftp_close($conn_id); 
//设置基本连接
$conn\u id=ftp\u connect($ftp\u server);
//使用用户名和密码登录

$login\u result=ftp\u login($conn\u id,$user,$pass)// PHP的配置文件中存在超时和上载限制。。。您可能需要检查那里的设置。

您是否尝试过在ftp_connect()中指定端口?端口号更改是正常的-传出连接主要是随机分配的。谢谢,我将与主机一起查看这一点,看看是否可以解决问题。我会在这里更新它是否有效。我尝试过,但这并没有解决它。即使当我试图上传一个小到4kB的文件时,它也需要很长时间,最后它只上传了0kB的文件。这次我确实收到了一个不同的警告:警告:ftp_put()[function.ftp put]:端口命令在C:\xampp\htdocs\quicksite\test1.php的第33行成功,我以前从未使用过php的ftp功能。我总是使用html文件字段上传文件,并使用php将其移动到另一端需要的位置并重命名。您是否特别需要ftp功能?