function up() {
//print_r($_FILES['userfile']['tmp_name']);exit; 在这里可以取到上传内容
$uid = get_cookie('user_id');
if ($uid) {
$this->load->model('Usermodel');
$path = $_SERVER["DOCUMENT_ROOT"] . "/upfiles/photo/" . $uid;
if (!file_exists($path)) {
mkdir($path, 0777);
}
$config['upload_path'] = $path;
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000000';
$config['max_width'] = '6000';
$config['max_height'] = '6000';
$config['encrypt_name'] = 'true';
$this->load->library('upload', $config);
if (!$this->upload->do_upload()) {
echo $error = $this->upload->display_errors(); //然后走到这里报错You did not select a file to upload.
} else {
$this->load->library('image_lib');
11 个解决方案
#1
你的上传控件名是 userfile
但你似乎并没用通知 upload,难道是默认的?
但你似乎并没用通知 upload,难道是默认的?
#2
嗯 这个我在uploadify那边已经设置为userfile了,我问了下别人,他们说ajax 上传,这是这个上传组件的问题
你要找到如何定义 name
也就是 $_FILES 里的 name
CI 不管你是什么上传 ,但是我不清楚控制器那么哪个值要取$_FILES 里的 name,或者把$_FILES 里的 name 传给谁
你要找到如何定义 name
也就是 $_FILES 里的 name
CI 不管你是什么上传 ,但是我不清楚控制器那么哪个值要取$_FILES 里的 name,或者把$_FILES 里的 name 传给谁
#3
$this->upload->do_upload( 上传控件的名字 )
你可用 print_r($_FILES) 查看一下
你可用 print_r($_FILES) 查看一下
#4
print_r($_FILES)是有值的 但是还是不行
#5
网上下载就能用
#6
都看到了什么?
#7
Array
(
[userfile] => Array
(
[name] => 75702,106.jpg
[type] => application/octet-stream
[tmp_name] => C:\Windows\Temp\php1743.tmp
[error] => 0
[size] => 256646
)
)
(
[userfile] => Array
(
[name] => 75702,106.jpg
[type] => application/octet-stream
[tmp_name] => C:\Windows\Temp\php1743.tmp
[error] => 0
[size] => 256646
)
)
#8
$this->upload->do_upload('userfile')
#9
$config['upload_path'] = $path;
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000000';
$config['max_width'] = '6000';
$config['max_height'] = '6000';
$config['encrypt_name'] = 'true';
$this->load->library('upload', $config);
foreach ($_FILES as $key => $value){
//if( ! empty($value['name'])){
if (!$this->upload->do_upload($key)) { //$key就是userfile
echo $error = $this->upload->display_errors();
print_r($this->upload->data());
} else {
$this->load->library('image_lib');
$redata = $this->upload->data();
现在情况是不报错 但是文件上传不成功,不知道哪里错了
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000000';
$config['max_width'] = '6000';
$config['max_height'] = '6000';
$config['encrypt_name'] = 'true';
$this->load->library('upload', $config);
foreach ($_FILES as $key => $value){
//if( ! empty($value['name'])){
if (!$this->upload->do_upload($key)) { //$key就是userfile
echo $error = $this->upload->display_errors();
print_r($this->upload->data());
} else {
$this->load->library('image_lib');
$redata = $this->upload->data();
现在情况是不报错 但是文件上传不成功,不知道哪里错了
#10
可能是目标路径有问题
我没用过 ci ,这能依据说明书提示你可能的问题所在
我没用过 ci ,这能依据说明书提示你可能的问题所在
#11
多谢了 我再看看
#1
你的上传控件名是 userfile
但你似乎并没用通知 upload,难道是默认的?
但你似乎并没用通知 upload,难道是默认的?
#2
嗯 这个我在uploadify那边已经设置为userfile了,我问了下别人,他们说ajax 上传,这是这个上传组件的问题
你要找到如何定义 name
也就是 $_FILES 里的 name
CI 不管你是什么上传 ,但是我不清楚控制器那么哪个值要取$_FILES 里的 name,或者把$_FILES 里的 name 传给谁
你要找到如何定义 name
也就是 $_FILES 里的 name
CI 不管你是什么上传 ,但是我不清楚控制器那么哪个值要取$_FILES 里的 name,或者把$_FILES 里的 name 传给谁
#3
$this->upload->do_upload( 上传控件的名字 )
你可用 print_r($_FILES) 查看一下
你可用 print_r($_FILES) 查看一下
#4
print_r($_FILES)是有值的 但是还是不行
#5
网上下载就能用
#6
都看到了什么?
#7
Array
(
[userfile] => Array
(
[name] => 75702,106.jpg
[type] => application/octet-stream
[tmp_name] => C:\Windows\Temp\php1743.tmp
[error] => 0
[size] => 256646
)
)
(
[userfile] => Array
(
[name] => 75702,106.jpg
[type] => application/octet-stream
[tmp_name] => C:\Windows\Temp\php1743.tmp
[error] => 0
[size] => 256646
)
)
#8
$this->upload->do_upload('userfile')
#9
$config['upload_path'] = $path;
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000000';
$config['max_width'] = '6000';
$config['max_height'] = '6000';
$config['encrypt_name'] = 'true';
$this->load->library('upload', $config);
foreach ($_FILES as $key => $value){
//if( ! empty($value['name'])){
if (!$this->upload->do_upload($key)) { //$key就是userfile
echo $error = $this->upload->display_errors();
print_r($this->upload->data());
} else {
$this->load->library('image_lib');
$redata = $this->upload->data();
现在情况是不报错 但是文件上传不成功,不知道哪里错了
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000000';
$config['max_width'] = '6000';
$config['max_height'] = '6000';
$config['encrypt_name'] = 'true';
$this->load->library('upload', $config);
foreach ($_FILES as $key => $value){
//if( ! empty($value['name'])){
if (!$this->upload->do_upload($key)) { //$key就是userfile
echo $error = $this->upload->display_errors();
print_r($this->upload->data());
} else {
$this->load->library('image_lib');
$redata = $this->upload->data();
现在情况是不报错 但是文件上传不成功,不知道哪里错了
#10
可能是目标路径有问题
我没用过 ci ,这能依据说明书提示你可能的问题所在
我没用过 ci ,这能依据说明书提示你可能的问题所在
#11
多谢了 我再看看