2012-09-29 2 views
0

Я почти полностью воспринял это как из документов CI, внес некоторые незначительные изменения в соответствии с моими потребностями, но в целом ничего существенного. Папка, которую я пытаюсь загрузить, существует и имеет значение 777.PHP Codeigniter загружается с ошибкой, без ошибок, без ошибок, ничего

Контроллер:

if($this->input->post('uploads')) 
    { 
     $config['upload_path'] = realpath(APPPATH.'../images'); 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = 0; 
     $config['max_width'] = 0; 
     $config['max_height'] = 0; 
     $config['remove_spaces'] = true; 

     $this->load->library('upload', $config); 

     if (!$this->upload->do_upload()) 
     { 
      $data['errors'] = $this->upload->display_errors(); 
     } 
     else 
     { 
      $data['upload_data'] = $this->upload->data(); 
     } 
    } 

The View:

<?php 
if(isset($errors)) 
{ 
    $this->genfunc->debugArray($errors); 
} 
if(isset($upload_data)) 
{ 
    $this->genfunc->debugArray($upload_data, 'php'); 
} 
?> 

<div id="gallery"> 
    <?php if (isset($images) && count($images)): 
     foreach($images as $image): ?> 
     <div class="thumb"> 
      <a href="<?php echo $image['url']; ?>"> 
       <img src="<?php echo $image['thumb_url']; ?>" /> 
      </a>     
     </div> 
    <?php endforeach; else: ?> 
     <div id="blank_gallery">Please Upload an Image</div> 
    <?php endif; ?> 
</div> 

<div id="upload"> 
    <?php 
    echo form_open_multipart('upload'); 
    echo form_upload('userfile'); 
    echo form_submit('uploads', 'Upload'); 
    echo form_close(); 
    ?>  
</div> 

Вид загружен, а также, все в настоящее время отправляется обратно на ту же страницу, которая, как ожидается. Но, взяв из примера CI в Документах и ​​переходя все, я не вижу причин, почему это не должно работать. Надеясь, что кто-то может пролить свет на него, может быть, я что-то упустил?

+0

Как называется ваш контроллер и соответствующая функция? –

+0

имя контроллера загружается – chris

+0

И это в вашей функции 'index()'? –

ответ

0

Видимо, после всего этого futzin вокруг. Я изменил

$ this-> load-> library ('upload', $ config);

к

$ this-> load-> библиотеки ('загрузки'); $ this-> upload-> initialize ($ upload_config);

В то время как я был у него, я изменил свой $config на $upload_config, и это решило его. Не уверен, какой конфликт был либо с использованием $config, либо просто с ошибкой в ​​механизме загрузки при передаче второго параметра. Так или иначе. Загружает работу сейчас.

0

изначально бы попробовать:

  1. Создание дата загрузки каталога с вашего корневой директории сайта с разрешения 777
  2. обновление $ конфигурационными [ 'upload_path'] = './uploads/';
+0

Таким образом, вы говорите один каталог над папкой public_html? – chris

+0

Предлагаем создать каталог загрузок на том же уровне каталога, что и приложение ci и системная папка с указанными первоначальными разрешениями (для тестирования). –

+0

ну, в настоящее время он не находится в папке приложения. Мои изображения или загрузки находятся на том же уровне, что и приложение и система. Я держу свои активы, такие как js CSS и т. Д., Чтобы идти на один уровень, чтобы попасть в папку с моими серверами, тогда один из этого будет root/home/mine/public_html/uploads – chris

0

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

+0

На этом компьютере у меня есть установленный для отображения ошибок, отладки и т. д. моя ошибка_log ничего не показывала. Не было и моего экрана, из-за отсутствия лучших слов, терпящих неудачу очень тихо. С тех пор я получил это, а не на 100% уверен, что проблема, но меняет способ загрузки libary, как читает конфиг и незначительные изменения, внесенные мной в свой собственный ответ. решила проблему, теперь у меня есть новая интересная проблема. участвует в переименовании файла, с использованием имени файла бит – chris

+0

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

+0

Я уже ответил на свой вопрос, просто не могу выбрать его еще 2 дня. – chris

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