Ошибка загрузки файла. Ошибка возвращает FALSE, но move_uploaded - PullRequest
2 голосов
/ 12 декабря 2011

Я пытаюсь осуществить загрузку файла в существующую ранее форму, которая, как я знаю, работает, и все еще не работает в разделе загрузки файлов.

По сути, я не уверен в ошибке и как ее исправить. Выводы - это только то, что я положил туда, основываясь на моем понимании кода

Я получаю следующий вывод из кода ниже:

ВЫХОД

Array
(
    [chart-image] => Array
        (
            [name] => Chart example.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/php5iGbQD
            [error] => 0
            [size] => 50222
        )

)
CAN'T MOVE FILE

ФОРМА

<form id="<?php echo $type ?>-trade" enctype="multipart/form-data" method='post' action='<?php echo $url; ?>'>
*snip*
    <input type="hidden" name="MAX_FILE_SIZE" value="52428800" />    
    <input name="chart-image" type="file" />
*snip*
</form>

СТРАНИЦА ДЕЙСТВИЙ

<em>snip</em>
 print_r($_FILES);</p>

<pre><code>if($_FILES['chart-image']['error'] == '0'){
    $uploaddir = '/images/charts/';
    $file = basename($_FILES['chart-image']['name']);

    $uploadfile = $uploaddir . $file;
    if(file_exists($_FILES['chart-image']['tmp_name'])){
       if (move_uploaded_file($_FILES['chart-image']['tmp_name'], $uploadfile)) {
          echo "GOOD";
       } else {
           echo "CAN'T MOVE FILE";
       }
    } else {
       echo "ERROR";
    }

}
else{
    echo "Error In Uploading File";
}
*snip*
</code>

Дополнительная информация

  • Я использую WordPress
  • Папка chmod 777
  • Формы загрузки разрешены в php.ini
  • Файл меньше максимального размера файла в <form> и php.ini

1 Ответ

0 голосов
/ 12 декабря 2011

Я попробовал это, и все работает нормально:

<?php
//print_r($_FILES);


if($_FILES['chartimage']['error'] == '0'){
    $uploaddir = 'images\\';
    $file = ($_FILES['chartimage']['name']);

    $uploadfile = $uploaddir . $file;

    if(file_exists($_FILES['chartimage']['tmp_name'])){
       move_uploaded_file($_FILES['chartimage']['tmp_name'], $uploadfile);
    } else {
       echo "ERROR";
    }

}
else{
    echo "Error In Uploading File";
}
?>

Когда вы распечатали $ uploadfile = $ uploaddir.$ Файл;echo $ uploadfile;с вашим кодом я получил: images / C: \ WINDOWS \ Temp \ php76.tmp, который является источником проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...