使用PHP将文件上载到远程服务器

时间:2014-03-20 15:49:24

标签: php html forms file-upload ftp

我是php和html的新手,我找到了一些代码,允许我使用html表单和php代码将文件上传到远程服务器。

我使用wamp在本地测试了代码,我发现了一些错误,比如我无法覆盖现有文件,并且没有考虑文件名的格式。

我要上传的文件是用法语命名的,并且它们之间有空格,服务器是debian服务器。 此代码的目标是检索URL。

HTML代码:

<form enctype="multipart/form-data" action="remote_upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="50000000" />
        Choose a file to upload: <input name="uploadedfile" type="file" /><br />
    <input type="submit" value="Upload File" />
</form>

PHP代码:

$ftp_server = "192.168.1.111";
$ftp_user_name = "";
$ftp_user_pass = "";
$remote_dir = "C:\wamp\www";

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

// login with username and password
$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//default values
$file_url = "";

if($login_result) {
//set passive mode enabled
ftp_pasv($conn_id, true);

$file = $_FILES["uploadedfile"]["tmp_name"];
$remote_file = $_FILES["uploadedfile"]["name"];

$ret = ftp_nb_put($conn_id, $remote_file, $file, FTP_BINARY, FTP_AUTORESUME);
while(FTP_MOREDATA == $ret) {
$ret = ftp_nb_continue($conn_id);
}

if($ret == FTP_FINISHED) {
echo "File '" . $remote_file . "' uploaded successfully.";
} else {
echo "Failed uploading file '" . $remote_file . "'.";
}
} else {
echo "Cannot connect to FTP server at " . $ftp_server;
}

0 个答案:

没有答案