2015-04-18 3 views
0

У меня есть код, который позволяет кому-то ввести дату. если дата отправки равна имени файла, тогда codeigniter должен загрузить файл на рабочий стол. Показанный код имеет смысл для меня, но когда я его запускаю, я получаю «файл не найден». Я могу вытащить файл на сервере, хотя имя совпадает с тем, что возвращается в базе данных mysql. Моя конечная цель, чтобы иметь возможность загрузить файл с таким же именем, как мой submission_date полеЗагрузите файл на рабочий стол, где имя поля равно имени файла в codeigniter

if($this->input->post('submit')) { 
     $trlr_num = $this->input->post('trlr_num'); 
    } elseif($this->uri->segment(4)) { 
     $trlr_num = $this->uri->segment(4); 
    } 

    if(!empty($trlr_num)) { 
     $query = $this->trailer_model->select_trailer_draw($trlr_num); 
     $result =& $query->row_array(); 

     if(!empty($result)) { 
      // Get filepath to bill 
      $directory = 'http://intranet.gmwdc.com/inc/img/inspection/upload'; 
      $file = $directory.'/'.$result['submission_date']; 

      $this->load->helper('download'); 


      if(file_exists($file)) { 
       $data = file_get_contents($file); 
       force_download($result['submission_date'],$data); 
      } else { 
       $this->session->set_status_data('error','File was not found.'); 
      } 

      return; 
     } else { 
      $this->session->set_userdata('error','No Inspection Draw Found'); 
     } 
    } 

ответ

0

Вы можете иметь в виду неправильный каталог или имя файла. Кроме того, кажется, что $file не имеет расширения.

$file = $directory . '/' . $result['submission_date'] . $extension; 

Edited

Вместо $directory попробовать CodeIgniter FCPATH, который указывает на директорию установки CodeIgniter.

$file = FCPATH . 'dir1/dir2/' . $result['submission_date']; 
+0

Я использовал CONCAT в своем SQL-запросе, чтобы добавить расширение .png. Я попробовал ваше предложение с расширением $. Я удалил CONCAT в моем sql-запросе и добавил $ extension = '.png'; Это не прошло. Спасибо за помощь. – magowan90

+0

hmm если расширение в порядке. проверьте '' '$ directory'''. что он содержит? –

+0

Странно, я понимаю, что это неопределенная переменная, когда я добавляю ее как $ data ['directory'] = $ directory; чтобы передать его моему взгляду – magowan90