Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从upload.php页面Codeigniter获取上传的文件名_Codeigniter_Variables_Upload_Controller - Fatal编程技术网

如何从upload.php页面Codeigniter获取上传的文件名

如何从upload.php页面Codeigniter获取上传的文件名,codeigniter,variables,upload,controller,Codeigniter,Variables,Upload,Controller,我有如下Upload.php页面=> <?php class Upload extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); } public function index() {

我有如下Upload.php页面=>

<?php

   class Upload extends CI_Controller {

      public function __construct() { 
         parent::__construct(); 
         $this->load->helper(array('form', 'url')); 
      }

      public function index() { 
         $this->load->view('upload_form', array('error' => ' ' )); 
      } 

      public function do_upload() { 
         $config['upload_path']   = './uploads/'; 
         $config['allowed_types'] = 'gif|jpg|png|pgn'; 
         $config['max_size']      = 0; 
         //$config['max_width']     = 1024; 
         //$config['max_height']    = 768; 
          $config['detect_mime']    = TRUE;
         $this->load->library('upload', $config);

         if ( ! $this->upload->do_upload('userfile')) {
            $error = array('error' => $this->upload->display_errors()); 
            $this->load->view('upload_form', $error); 
         }

         else { 
            $data = array('upload_data' => $this->upload->data()); 
            $this->load->view('upload_success', $data); 
         } 
      } 
   } 
?>
我们如何纠正这种情况并获取新上载文件的文件名? 我个人认为程序无法识别另一页(控制器)中的数据。
谢谢……

对不起,我还不能发表评论,所以我把它写在这里。我想图书馆是为你准备的

$this->upload->data();
没有上膛

如果只想获取文件名,可以尝试使用会话。 在上载控制器中:

$data = $this->upload->data();
$this->session->set_userdata('filename', $data['file_name']);
在Hesaplama:

$filename = 'uploads/'.$this->session->userdata('filename');
$file = fopen("<?php echo site_url('$filename'); ?>", "r");
$filename='uploads/。$this->session->userdata('filename');
$file=fopen(“,“r”);

希望有此帮助。

要获取文件名和扩展名文件以将其保存在数据库中,您可以使用tis

<?php

   class Upload extends CI_Controller {

      public function __construct() { 
         parent::__construct(); 
         $this->load->helper(array('form', 'url')); 
      }

      public function index() { 
         $this->load->view('upload_form', array('error' => ' ' )); 
      } 

      public function do_upload() { 
         $config['upload_path']     = './uploads/'; 
         $config['allowed_types']   = 'gif|jpg|png|pgn'; 
         $config['max_size']        = 0; 
         $config['detect_mime']    = TRUE;

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

         if( ! $this->upload->do_upload('userfile')) {
            $error = array('error' => $this->upload->display_errors()); 
            $this->load->view('upload_form', $error); 
         }
         else { 
            $upload_data = $this->upload->data();

            /*
            Array
            (
                   [file_name]    => mypic.jpg
                   [file_type]    => image/jpeg
                   [file_path]    => /path/to/your/upload/
                   [full_path]    => /path/to/your/upload/jpg.jpg
                   [raw_name]     => mypic
                   [orig_name]    => mypic.jpg
                   [client_name]  => mypic.jpg
                   [file_ext]     => .jpg
                   [file_size]    => 22.2
                   [is_image]     => 1
                   [image_width]  => 800
                   [image_height] => 600
                   [image_type]   => jpeg
                   [image_size_str] => width="800" height="200"
            )
            */

            $this->model->save_img_info($upload_data['file_name']);

            $data = array('upload_data' => $upload_data ); 
            $this->load->view('upload_success', $data); 
         } 
      } 
   } 
?>


Put
$config['max\u size']=0无限制。您好@Tpojka谢谢。在搜索教程时,我也发现了这一点,并打算使用它。感谢您注意您分配的值,并小心使用。你们把23/24位数字放在那个里,但检查允许的最大整数是多少。您必须考虑要上载的文件,因为那些是图像/图片,所以可以在该值中设置不超过50 MB或50000。第二件事是查看php.ini值,因为php_max_upload_size通常设置为2MB。这只是开始,没有真正解决你的问题。允许的类型字符串不应以管道结尾
|
。不清楚您键入的url是什么,因为这里有3个控制器。您好@Tpojka。我按照你的建议做了一些编辑。如果您想知道关于“png”的“pgn”,这是有意的,不是图像扩展。我可以成功上传这些扩展。再次感谢。@Otag在
Hesaplama
Upload
$filename = 'uploads/'.$this->session->userdata('filename');
$file = fopen("<?php echo site_url('$filename'); ?>", "r");
<?php

   class Upload extends CI_Controller {

      public function __construct() { 
         parent::__construct(); 
         $this->load->helper(array('form', 'url')); 
      }

      public function index() { 
         $this->load->view('upload_form', array('error' => ' ' )); 
      } 

      public function do_upload() { 
         $config['upload_path']     = './uploads/'; 
         $config['allowed_types']   = 'gif|jpg|png|pgn'; 
         $config['max_size']        = 0; 
         $config['detect_mime']    = TRUE;

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

         if( ! $this->upload->do_upload('userfile')) {
            $error = array('error' => $this->upload->display_errors()); 
            $this->load->view('upload_form', $error); 
         }
         else { 
            $upload_data = $this->upload->data();

            /*
            Array
            (
                   [file_name]    => mypic.jpg
                   [file_type]    => image/jpeg
                   [file_path]    => /path/to/your/upload/
                   [full_path]    => /path/to/your/upload/jpg.jpg
                   [raw_name]     => mypic
                   [orig_name]    => mypic.jpg
                   [client_name]  => mypic.jpg
                   [file_ext]     => .jpg
                   [file_size]    => 22.2
                   [is_image]     => 1
                   [image_width]  => 800
                   [image_height] => 600
                   [image_type]   => jpeg
                   [image_size_str] => width="800" height="200"
            )
            */

            $this->model->save_img_info($upload_data['file_name']);

            $data = array('upload_data' => $upload_data ); 
            $this->load->view('upload_success', $data); 
         } 
      } 
   } 
?>