2014-01-15 3 views
0

Я пытаюсь сохранить изображения на FTP-сервере, который будет использоваться на других страницах, но я получаю несколько ошибок, пытаясь получить эту работу. Запуск всего на XAMPP. Во-первых я использую вход на HTML странице:Загрузка изображения в ftp с HTML-ввода

<input type="file" name="image" required> 

Тогда я принесу его и попытаться загрузить его:

$image = $_POST["image"]; 
$ftpCon = ftp_connect("127.0.0.1", "21") or die("Could not connect to FTP"); 
ftp_fput($ftpCon, "image.png", $image, FTP_BINARY); 
ftp_close($ftpCon); 

С помощью этого кода я получаю эту ошибку: "ftp_fput() ожидает параметр 3 в быть ресурсом, строка, заданная»

ответ

0

Когда вы загружаете элементы (файлы) через форму, они заполняются в супермагале $ _FILES.

An associative array of items uploaded to the current script via the HTTP POST method.

http://se2.php.net/manual/en/reserved.variables.files.php

Убедитесь, что вы также установить форму с enctype='multipart/form-data'

Таким образом, первая строка PHP должен быть изменен на:

$image = $_FILES['image']['tmp_name']; 

в $ _FILES является associtaive и содержит следующие данные:

(UserFile = изображение, в вашем случае)

$_FILES['userfile']['name'] 
The original name of the file on the client machine. 
$_FILES['userfile']['type'] 
The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted. 
$_FILES['userfile']['size'] 
The size, in bytes, of the uploaded file. 
$_FILES['userfile']['tmp_name'] 
The temporary filename of the file in which the uploaded file was stored on the server. 
$_FILES['userfile']['error'] 
The error code associated with this file upload. This element was added in PHP 4.2.0 
+0

Спасибо большое объяснение, хотя на самом деле теперь это дает мне «.... нуль дано» вместо строки, даже если я скопировал ENCTYPE к форме и заменяет $ _POST с, $ image = $ _FILES ['image'] ['tmp_name'] ;, любая идея о том, что происходит сейчас? – user3150430

1

Изменение линии

$image = $_POST["image"]; 

в

$image = $_FILES['image']['tmp_name']; 
Смежные вопросы