2012-03-06 3 views
0

Попытка сделать так, чтобы люди могли загружать файлы на этот сайт. Я получаю сообщение об ошибке при попытке. Дайте мне знать, что вы думаете. Им с помощью CodeIgniter, кстатиНе удалось создать файл для загрузки файлов

===== HTML =====

<div id="upload"> 
    <form enctype="multipart/form-data" action="<?=current_url()?>" method="POST"> 
     <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
     Choose a file to upload: <input name="uploadedfile" type="file" /> 
     <br /> 
     <input type="submit" value="Upload" /> 
    </form> 
    <p><?=$uploadResult?></p> 
</div> 

===== PHP =====

if ($this->input->post()) { 
     $target_path = "../../uploads/"; 
     $target_path = $target_path .basename($_FILES['uploadedfile']['name']); 

     if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
      $uploadResult = "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
     } else { 
      $uploadResult = "There was an error uploading the file, please try again!"; /* <---- Error I get */ 
     } 
    } else { 
     $uploadResult = 'didnt work at all'; 
    } 

    echo $uploadResult; 

    $this->data['uploadResult'] = $uploadResult; 

==== = ОШИБКА =====

PHP-ошибка была обнаружена Серьезность: Предупреждение сообщение: move_uploaded_file (../../ добавления/notes_USH.odt): не удалось открыть поток: Нет такого файла или каталога Имя файла: controllers/discovery.php Номер строки: 158

+0

Вы должны получить ОШИБКУ или ПРЕДУПРЕЖДЕНИЕ, если он не работает, что он/они говорят? Кроме того, поскольку вы используете CodeIgniter, вы можете взглянуть на http://codeigniter.com/user_guide/libraries/file_uploading.html – Tjkoopa

+0

Добавлена ​​ошибка –

+0

Я пробовал использовать их загружаемую вещь и не мог заставить ее работать –

ответ

0

Хорошо, так что это немного поздно, но я просто переделал все это с помощью материалов с кодовыми знаменами и после некоторого возиться с ним, я получил его на работу.

0

Убедитесь, что существует каталог «../../uploads/», и у вас есть разрешение на запись. PHP не создаст это для вас.

Кроме того, CodeIgnter имеет класс для обработки загрузки файла (может быть полезен). Вы можете видеть это в docs.

+0

Могло ли это не работать, потому что я не использую класс codeigniter? –

+0

@DylanButh Нет, код Iginiter - это PHP, поэтому все родные функции будут работать. Я упомянул об этом, потому что у класса есть утилиты, которые вы можете использовать, например, проверка типа файла. –

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