How can know, if select(Choice
Or Browse...
) file in input:file
run some code with php?
<form action="#" method="post" enctype="multipart/form-data">
<input type="file" name="userfile[]" valign="baseline">
</form>
if(select file){
run my code
}
Update:
I use of Multiple Uploads with JQuery and Code Igniter , when that i don't select file, output print_r($_FILES['userfile']);
is:
Array ( [error] => 4 [name] => [size] => 0 [tmp_name] => [type] => [key] => userfile )
[error] => 4
is -> You did not select a file to upload.
If i select file, have following error in case i have in input:file
this: name="userfile[]"
:
Message: Undefined index: userfile
in here:print_r($_FILES['userfile']);
Update 2:
I use from these Controller but if don't select a file, in the here if ( ! $files )
return is false and give error. i want if user did not select file does not get error with a if
class Upload extends Controller {
function Upload()
{
parent::Controller();
$this->load->helper(array('form', 'url'));
}
function index()
{
$this->load->view('upload_form');
}
function do_upload()
{
if($_FILE('userfile')){
$config['upload_path'] = './uploads/'; // server directory
$config['allowed_types'] = 'gif|jpg|png'; // by extension, will check for whether it is an image
$config['max_size'] = '1000'; // in kb
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$this->load->library('Multi_upload');
$files = $this->multi_upload->go_upload();
if ( ! $files )
{
$error = array('error' => $this->upload->display_errors());
开发者_StackOverflow$this->load->view('upload_form', $error);
} else {
$data = array('upload_data' => $files);
$this->load->view('upload_success', $data);
}
}
redirect('inse/show');
}
}
<?php
if (isset($_FILES['my_file_input'])) {
// your code
}
?>
NOTE: you descripted a wrong input type if i get you right - file input should use this signature:
<input type="file" name="my_file_input" />
NOTE: the form the file input is located within should have its enctype set to "multipart-form-data" (or something like that).
UPD: i may be wrong, but here's come controller from the module you have specified:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Upload extends Controller {
function Upload()
{
parent::Controller();
$this->load->helper(array('form', 'url'));
}
function index()
{
$this->load->view('upload_form');
}
function do_upload()
{
$config['upload_path'] = './uploads/'; // server directory
$config['allowed_types'] = 'gif|jpg|png'; // by extension, will check for whether it is an image
$config['max_size'] = '1000'; // in kb
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$this->load->library('Multi_upload');
$files = $this->multi_upload->go_upload();
if ( ! $files )
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
} else {
$data = array('upload_data' => $files);
$this->load->view('upload_success', $data);
}
}
}
?>
If you still do not get any satisfying results, try var_dump($_FILES);
and find out how the files are stored.
精彩评论