2010-12-12 4 views
3

У меня есть html-форма. Я хочу добавить к нему простую функцию загрузки изображений, и она отправит изображение на страницу php под названием «next.php». Любые предложения о том, как это сделать?Как добавить простую загрузку изображения в форму?

+0

Поиск в Google файла загрузки PHP возвращает около 25 миллионов результатов, таких как: http://www.w3schools.com/PHP/php_file_upload.asp PS: Я вижу, что вы отметили свой вопрос 'asyncfileupload': вы хотите загрузка должна быть асинхронной? – nico

+0

перейдите по адресу http: // google com, а затем введите загрузку изображения php. Это всегда помогает. Вероятно, вы даже найдете статью на своем родном языке –

+0

@Col. Shrapnel ... heh –

ответ

1

Я не знаю никаких средств для взаимодействия с файлом input на стороне клиента, поэтому вам нужно будет проверить/проверить загруженную файловую серверную часть (в скрипте «next.php») но это должно быть достаточно:

<form action="path/to/next.php" method="post" enctype="multipart/form-data"> 
    <fieldset> 
     <input type="file" name="picture" id="picture" /> 
    </fieldset> 
</form> 
+1

Атрибут enctype должен быть установлен или это не сработает. Он будет бить головой о стену, пытаясь понять, что происходит не так ... –

+0

@Brian H, oops ... спасибо и отредактирован. Всегда есть что-то ** ... = D –

3

Создайте HTML-форму, как следующее:

<html> 
<body> 
<form action="next.php" method="post" enctype="multipart/form-data"> 
<label for="image">Image:</label> 
<input type="image" name="image" id="image" /><br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 
</body> 
</html> 

Ваш файл "next.php" может обрабатывать изображение, похожее на это:

<?php 

if ($_FILES["file"]["error"] > 0) 
    echo "Error: " . $_FILES["image"]["error"] . "<br />"; 
else 
{ 
    echo "Upload: " . $_FILES["image"]["name"] . "<br />"; 
    echo "Type: " . $_FILES["image"]["type"] . "<br />"; 
    echo "Size: " . ($_FILES["image"]["size"]/1024) . " Kb<br />"; 
    echo "Stored in: " . $_FILES["image"]["tmp_name"]; 
} 

На этом этапе вы можете сделать его более безопасным, проверив тип и обеспечив его только jpg, gif, png или сортировку. Я бы рекомендовал скопировать изображение на 2 или 3 размера (большой, средний, оригинальный) и удалить его из временного каталога. Вы можете использовать ImageMagick для изменения размера изображений, а затем использовать функции filesystem для перемещения и удаления временных загрузок.

Смежные вопросы