Я пытаюсь работать с моим сценарием загрузки.
Я использую CodeIgniter, dropzone.js и класс Verot_upload
форма:
<form action="/admin/images/upload" enctype="multipart/form-data" method="post" class="dropzone" id="my-awesome-dropzone"></form> <script src="/skin/js/dropzone.js"></script>
и / admin / images / upload
public function upload() { $data = array(); $this->load->library('verot_upload'); if ($this->authentication->is_loggedin()) { if (!empty($_FILES)) { // $tempFile = $_FILES['file']['tmp_name']; $foo = new Verot_upload($_FILES['file']); if ($foo->uploaded) { // save uploaded image with no changes $foo->Process('./media/test/'); } } } else { redirect('/admin/login/', 'refresh'); } }
он работает с обычным стилем:
function upload() { if (!empty($_FILES)) { $tempFile = $_FILES['file']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . '/uploads/'; $targetFile = $targetPath . $_FILES['file']['name']; move_uploaded_file($tempFile, $targetFile); // save data in database (if you like!) } }
Но не с verot_upload.
Поэтому проблема заключалась в том, что я пытался загрузить изображение, как в примере, при инициализации класса. если я инициализирую пустой класс, а затем использую метод загрузки, все работает.
/** * Method for uploading Images from dropdown form. * * @param $size * @param $path * @param $file */ public function upload_image($size, $path, $file) { $this->load->library('verot_upload'); $foo = new Verot_upload(); $foo->upload($file); if ($foo->uploaded) { $foo->image_resize = true; $foo->image_x = $size; $foo->image_ratio_y = true; $foo->Process($path); if ($foo->processed) { $new_path = substr($foo->file_dst_pathname,1); $this ->db ->set('date_created', 'NOW()', false) ->set('path', $new_path, true) ->insert('wysiwyg_img_uploads'); $foo->Clean(); } } }