2014-11-15 3 views
1

Я пытался создать сценарий загрузки изображений, но $ _files ['photo']; пуст полностью.

$_FILES['photo']['name']; 
$_FILES['photo']['size']; 
$_FILES['photo']['type']; 
$_FILES['photo']['tmp_name']; 
$_FILES['photo']['error']; 

Когда я повторяю их, все они абсолютно ничего не возвращают.

if($_FILES['photo']['name']) 
{ 

if(!$_FILES['photo']['error']) 
{ 
    $new_file_name = strtolower($_FILES['photo']['name']); 
    if($_FILES['photo']['size'] > (1024000)) 
    { 
     $valid_file = false; 
     $msg = 'Oops! Your file\'s size is to large.'; 
     echo $msg; 
    } 

    if($valid_file) 
    { 
     move_uploaded_file($_FILES['photo']['tmp_name'], 'images/thumbnails/'.$new_file_name); 
     $msg = 'Congratulations! Your file was accepted.'; 
     echo $msg; 
    } 
} 

else 
{ 
    $msg = 'Ooops! Your upload triggered the following error: '.$_FILES['photo']['error']; 
    echo $msg; 
} 
} 

Возможно, я сделал что-то неправильно?

<form action='?p=post' method='POST'> 
      <input type='file' name='photo' size='25' /> 
      <input type='submit' value='Posten' name='submit' /><br /> 
      </form> 
+1

Возможно элемент файла вашей формы не не названа, и/или ваша форма не имеет надлежащего ENCTYPE, и/или не пост метод. Давайте посмотрим, какую форму вы используете. –

+0

Отредактировал форму. Но я не знал, что мне нужно использовать enctype. Нет идеи, если это была проблема, попробуем поблагодарить. –

+0

Я написал вам свой ответ ниже. –

ответ

2

Ваша форма отсутствует существенную часть =>enctype="multipart/form-data" добавить его в форму.

<form action='?p=post' method='POST' enctype='multipart/form-data'> 
  • Тип кодирования данных требуется при загрузке файлов.

Consult: