如何从upload.php页面Codeigniter获取上传的文件名
我有如下Upload.php页面=>如何从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() {
<?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);
}
}
}
?>