2013-08-01 3 views
0

Я пытался найти поток, который мог бы помочь, и попробовал все, что мог найти, чтобы исправить это.

У меня есть страница, которая загружает файл, может быть любого типа, и он работает. Я решил использовать ту же функциональность на другой странице, но массив $ _FILES всегда пуст.

Форма:

<form method="post" class="mainForm" enctype="multipart/form-data"> 
    <fieldset> 
     <div class="widget first"> 
      <div class="rowElem"> 
       <label for="file">Upload Profile Picture</label> 
       <div class="formRight"> 
        <input type="file" id="profilepicture" name="profilepicture" /> 
        <button formaction="profile_pic.php" class="greyishBtn">Upload</button> 
       </div> 
      </div> 
     </fieldset> 
    </form> 

PHP:

$name_first = "John"; 
$name_last = "Doe"; 
$folder_name = $name_last . "-" . $name_first . "-ID-" . $id . "/"; 

$dirname = "profile/" . $folder_name; 
if(!is_dir($dirname)){ 
    mkdir($dirname); 
} 

$dirname = $dirname . $_FILES['file']['name']; 

if(move_uploaded_file($_FILES['file']['tmp_name'], $dirname)){ 
    header("location:profile.php"); 
} 
else{ 
    echo $dirname; 
} 

?> 

echo $dirname просто показывает папку без имени файла.

+0

Есть два способа представить формы, используется '< form action = "**">, а другой - в кнопке. На большей части моего сайта я использую тег кнопки вместо '' и определенным образом создавал теги кнопок. – Jacques

+0

Это '

+0

'

' .... действительно? Ну, я узнал что-то новое сегодня, за 15 лет работы с формами, ничего себе. Простите сарказм, но вы не правы, Джек. Есть много способов подачи формы, и то, что вы сказали, НЕ является одним из них, я могу вам это гарантировать. Делай, что хочешь, надеюсь, что это сработает. Как, я понятия не имею. Удачи. –

ответ

4

Ну, ваш входной файл называется name='profilepicture'

Try:

$dirname = $dirname . $_FILES['profilepicture']['name']; 

и

if(move_uploaded_file($_FILES['profilepicture']['tmp_name'], $dirname)){ 
header("location:profile.php"); } 
2

Попробуйте этот код:

$name_first = "John"; 
$name_last = "Doe"; 
$folder_name = $name_last . "-" . $name_first . "-ID-" . $id . "/"; 

$dirname = "profile/" . $folder_name; 
if(!is_dir($dirname)){ 
    mkdir($dirname); 
} 

$dirname = $dirname . $_FILES['profilepicture']['name']; 

if(move_uploaded_file($_FILES['profilepicture']['tmp_name'], $dirname)){ 
    header("location:profile.php"); 
} 
else{ 
    echo $dirname; 
} 
+0

Что поделаешь? –

+1

Заменен '$ _FILES ['file']' с '$ _FILES ['profilepicture']'. – ops

+1

Пояснение к OP для изменений/модификаций? Помогло бы ФП знать и почему код не работал в первую очередь (подмигивание) –

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