<form method="post" action="<?php echo base_url('submit'); ?>" enctype="multipart/form-data">
<input type="file" name="userfile[]" id="userfile" multiple="" accept="image/*">
</form>
МОДЕЛЬ: FilesUpload
class FilesUpload extends CI_Model {
public function setFiles()
{
$name_array = array();
$count = count([110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['size']);
foreach ([110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES as $key => $value)
for ($s = 0; $s <= $count - 1; $s++) {
[110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['name'] = $value['name'][$s];
[110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['type'] = $value['type'][$s];
[110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['tmp_name'] = $value['tmp_name'][$s];
[110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['error'] = $value['error'][$s];
[110] МОДЕЛЬ: FilesUpload
[111] КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
FILES['userfile']['size'] = $value['size'][$s];
$config['upload_path'] = 'assets/product/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '10000000';
$config['max_width'] = '51024';
$config['max_height'] = '5768';
$this->load->library('upload', $config);
if (!$this->upload->do_upload()) {
$data_error = array('msg' => $this->upload->display_errors());
var_dump($data_error);
} else {
$data = $this->upload->data();
}
$name_array[] = $data['file_name'];
}
$names = implode(',', $name_array);
return $names;
}
}
КОНТРОЛЛЕР submit
class Submit extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('html', 'url'));
}
public function index()
{
$this->load->model('FilesUpload');
$data = $this->FilesUpload->setFiles();
echo '<pre>';
print_r($data);
}
}
В вашем примере x
является не , вызывающим hello ()
. Какой бы объект ни содержал этот фрагмент, он «вызывает» (т. Е. «Вызывающий»). В Java x
может называться получателем; он получает вызов метода hello ()
.
Кто-нибудь поправит меня, если я ошибаюсь, но я не думаю, что вы можете применить эти условия к Java. Ruby происходит от Smalltalk, который использует сообщения (не методы) для связи между объектами. Технически, когда вы выполняете myObj.to_s
в Ruby, вы отправляете сообщение to_s
на myObj
, и он соответствующим образом обрабатывает это сообщение. В этой модели myObj
действительно является получателем этого сообщения, а класс, которому принадлежит строка, в которую было отправлено сообщение, является отправителем.
В Java этого не существует. У вас есть объекты, для которых вы вызываете методы. Нет отправителей и получателей. Вы были правы, когда сказали, что существует фундаментальная разница в идеологии.
Разница больше, чем терминология. В Java виртуальная машина определяет, «принимает» ли данный объект сообщение, которое вы пытаетесь отправить (т. Е. Метод, который вы пытаетесь вызвать). Если пространство типов объекта не определяет этот метод, генерируется исключение и сообщение никогда не доставляется.
В Ruby сообщение всегда доставляется. Объект может найти метод, соответствующий ему, а может и не найти, и в последнем случае он может вызвать исключение или нет . Rails построен на этом фундаментальном отличии. Это одна из причин, почему пока нет такой полезной инфраструктуры веб-приложений, как Rails, на платформе Java (хотя некоторые из них приближаются)
.