2017-05-10 13 views
1

PHPを使用して、選択したローカルファイルをFTPにアップロードします。PHPを使用して選択したファイルをFTPにアップロード

<form method="POST" ENCTYPE="multipart/form-data"> 
    <input type="file" name="filename"/><br/> 
    <input type="submit" value="Upload"/> 
</form> 

そして、このアップロードしてみます:

$source_file=$_FILES['filename']['tmp_name']; 
$remote_file='/www/img/file.txt'; 



if (ftp_put($conn_id, $remote_file, $source_file, FTP_BINARY)) 
{ 
echo "successfully uploaded $source_file\n"; 
} 
else 
{ 
echo "There was a problem while uploading $source_file\n"; 
} 

結果:

警告:ftp_put():

ローカルファイルが$_POSTメソッドを使用して選択されたファイル名が空にすることはできません

$_FILES['filename']['tmp_name']は空です。

$source_fileはパスである必要があります。 質問:選択したファイルの正しいパスは何ですか?

+1

てみローカルにアップロードしたファイルを最初に移動してからftpしてください.https://secure.php.net/manual/en/function.move-uploaded-file.php –

+0

[ファイルをアップロードするFTPとPHPを使って](http://stackoverflow.com/questions/34465646/upload-a-file-using-ftp-and-php) –

答えて

0

次の手順に従ってください

(1)移動アップロードされたファイルの最初のサーバー

$uploads_dir = '/uploads'; 

$remote_file='/www/img/file.txt'; 

$source_file=$_FILES['filename']['tmp_name']; 

$name = basename($_FILES["filename"]['tmp_name']); 

$file_path = $uploads_dir."/".$name; 

move_uploaded_file($source_file, $file_path); 

(2)ftpにローカルサーバのファイルパスを与えるアップロード

if (ftp_put($conn_id, $remote_file, $file_path, FTP_BINARY)) 
{ 
echo "successfully uploaded $source_file\n"; 
} 
else 
{ 
echo "There was a problem while uploading $source_file\n"; 
} 
+0

ありがとうございました。それは動作します:) *、PNGなしですべての拡張子をアップロードすることができます。どのようにPNGファイルをアップロードすることができますか? – MaciejM

+0

Yay Congrats @MaciejM – Akshay

+0

あなたは '$ remote_file = '/ www/img/file.txt''という名前をつけているので、アップロードされたファイル – Akshay

関連する問題