2015-02-15 7 views
-1

Я изо всех сил пытаюсь заставить PHP обрабатывать размещенное изображение. Код, который якобы получает tempory ссылку здесь:PHP загрузить изображение

$file = file_get_contents($_FILES["pic"]["name"]); 

Но я получаю ошибку

Предупреждение: file_get_contents(): Имя файла не может быть пустым

Изображение определенно быть размещено в качестве запуска:

echo $_POST['pic']; 

печатает имя им возраст.

Я не уверен, что я делаю неправильно здесь? Имя поля от формы: pic.

Спасибо за любую помощь.

EDIT:

Изображение затем предназначается, чтобы быть загружены на Imgur.

EDIT:

Html для справки:

<form class="form-horizontal" enctype="multipart/form-data" name="additem" role="form" method="POST" action="add.php"> 
    <div class="alert alert-info" role="alert">Photos will be uploaded to <a href="http://imgur.com">imgur</a></div> 
    <div class="form-group"> 
     <label for="dept">Department</label> 
     <select class="form-control" name="dept" id="dept"> 
     <option>Options...</option> 
    </select> 
    </div> 

    <div class="form-group"> 
    <label for="pic">Image link</label> 
    <input class="form-control" type="file" id="pic" name="pic"></input> 
    </div> 

    <div class="form-group"> 
    <label for="description">Description</label> 
    <textarea class="form-control" rows="3" id="description" name="description"></textarea> 
    </div> 

    <div class="form-group"> 
    <button type="submit" class="btn btn-success">Add</button> 
    </div> 
</form> 
+0

Как вы можете использовать массив $ _POST вместо $ _FILES для обработки изображений? –

+0

Показать свой HTML .. – Mihai

+0

Добавлено в edit ... – CrabLab

ответ

0

Найдено исправление:

Сочетание добавления ENCTYPE в форму и добавление DOCTYPE в разметке фиксированной вопрос.

Спасибо всем, кто помог

0

Согласно relevant comment in documentation, эти файлы временно хранится где-то в вашей системе. name - это всего лишь строка.

$file = file_get_contents($_FILES["pic"]['tmp_name']); 

Просто из любопытства: вы установите type='file' на вашем input управления?

+0

Он просто дает мне ту же ошибку; пустое имя файла и да, я сделал. – CrabLab

+0

Возможно, имя, указанное им, неверно для файла. –

+0

Не могли бы вы расширить @ jquery-php-magento-com – CrabLab

0
$ext = pathinfo($_FILES['pic']['name'], PATHINFO_EXTENSION); 
$filename = "./your-image.$ext"; 
if(move_uploaded_file($_FILES['pic']['tmp_name'], $filename)) { 
    $file = file_get_contents($filename); 
} 
+0

Мне нужно только получить адрес ... Я думаю! Это похоже на перемещение изображения? Я не «загружаю» его своему собеседнику, затем изображение отправляется в Imgur. – CrabLab

0

Согласно PHP docs (Handling file uploads), вы, вероятно, хотите получить доступ к содержимому файла, а не имя файла. Таким образом, вы должны использовать:

$filecontents = file_get_contents($_FILES['pic']['tmp_name']). 
+0

Я просто получаю ту же ошибку, что и раньше – CrabLab

-1

Чтобы загрузить файл, вам нужно добавить

enctype="multipart/form-data" 

как атрибут в виде тега. См: PHP 5 File Upload

+0

Отредактировано: спасибо. Не исправил проблему, хотя ... – CrabLab

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