mishanya Опубликовано 16 апреля, 2016 Жалоба Поделиться Опубликовано 16 апреля, 2016 (изменено) Столкнулся с проблемой, при загрузке pdf файла размером более 8мб он не сохранялся, если кому пригодится решение проблемы, нужно в настройках хостинга увеличить размер отправляемых файлов (post_max_size) post_max_size - немного не размер отправляемых файлов, а размер отправляемого post запроса, тоесть учитываются и другие поля формы..кроме этого параметра если у кого не работает, еще надо иметь ввиду upload_max_filesize - размер загружаемого файла. хотя наверно большие файлы лучше на облаке где-то хранить Изменено 16 апреля, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
regestration Опубликовано 17 декабря, 2016 Жалоба Поделиться Опубликовано 17 декабря, 2016 Доброго времени суток. Если не трудно - помогите, пожалуйста, разобраться.Мне необходимо к заказу в корзине добавить возможность загрузки файла.Не получается найти на форуме как загрузить файл при оформлении заказа. Функция $filename = $simpla->request->files('myfile', 'name'); возвращает null. Заранее благодарю за ответ и помощь. Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 17 декабря, 2016 Жалоба Поделиться Опубликовано 17 декабря, 2016 Вот статья по загрузке файлов на серверhttps://myrusakov.ru/php-loadserver-file.html что касается концепции simpla - то посмотрите как грузятся фотографии к категориям Цитата Ссылка на сообщение Поделиться на другие сайты
regestration Опубликовано 17 декабря, 2016 Жалоба Поделиться Опубликовано 17 декабря, 2016 Вот статья по загрузке файлов на серверhttps://myrusakov.ru/php-loadserver-file.html что касается концепции simpla - то посмотрите как грузятся фотографии к категориямСпасибо огромное. Последний совет был очень дельный. И забавная штука: тот же код был скопирован из загрузки изображений для товара и функция в упор не видела массив возвращаемый $simpla->request->files. А теперь прям полетело. ) Спасибо еще раз огромное. Сейчас в карму "плюну". Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 17 декабря, 2016 Жалоба Поделиться Опубликовано 17 декабря, 2016 (изменено) Спасибо огромное. Последний совет был очень дельный. И забавная штука: тот же код был скопирован из загрузки изображений для товара и функция в упор не видела массив возвращаемый $simpla->request->files. А теперь прям полетело. ) Спасибо еще раз огромное. Сейчас в карму "плюну".нужно было юзать в CartView.php через $this->request->files а не $simpla->request->files Изменено 17 декабря, 2016 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
regestration Опубликовано 17 декабря, 2016 Жалоба Поделиться Опубликовано 17 декабря, 2016 нужно было юзать в CartView.php через $this->request->files а не $simpla->request->filesЯ именно так и делала. Скорее всего просто с проверкой файлов перемудрила. Теперь все работает. Спасибо всем, еще раз, за оперативность. Цитата Ссылка на сообщение Поделиться на другие сайты
nikolayv Опубликовано 4 марта, 2017 Жалоба Поделиться Опубликовано 4 марта, 2017 Спасибо за тред. На его основе прикрутил файлы к заказу, что удобно для загрузки товарных накладных. Цитата Ссылка на сообщение Поделиться на другие сайты
Furu Опубликовано 30 марта, 2017 Жалоба Поделиться Опубликовано 30 марта, 2017 Многим думаю пригодится, допустим у нас есть кнопка "интсрукция" при нажатии на нее скачиваем файл. Нам надо:Дополнительно поле type="file" для загрузки файла Возможности:- Загрузка файла- Удаление Файла- Вывод ссылки и название файла в шаблон- Расширение файлов которые можно загружать #0 - Запрос в БД: ALTER TABLE `s_products` ADD `attachment_files_one` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `name` #1 - \simpla\design\html\product.tplнайдем: // Удалить файл к варианту $('#variants_block a.remove_attachment').click(function() { closest_li = $(this).closest('li'); closest_li.find('.attachment_name').hide('fast'); $(this).hide('fast'); closest_li.find('input[name*=delete_attachment]').val('1'); closest_li.find('a.add_attachment').show('fast'); return false; }); и ниже вставим: // Загрузить файл 1 $('#variants_block_one a.add_attachment_one').click(function() { $(this).hide(); $(this).closest('li').find('div.browse_attachment_one').show('fast'); $(this).closest('li').find('input[name*=attachment_files_one]').attr('disabled', false); return false; }); // Удалить файл 1 $('#variants_block_one a.remove_attachment_one').click(function() { closest_li = $(this).closest('li'); closest_li.find('.attachment_name_one').hide('fast'); $(this).hide('fast'); closest_li.find('input[name*=delete_attachment_one]').val('1'); closest_li.find('a.add_attachment_one').show('fast'); return false; }); найдем: <!-- Правая колонка свойств товара --> <div id="column_right"> ниже вставим: <!-- Документация товара --> <div class="block layer" > <h2>Документация товара </h2> <ul> <li id="variants_block_one"> <b>Техническая документация:</b> {if $product->attachment_files_one} <span class=attachment_name_one><a href="../{$config->documents_dir}{$product->attachment_files_one}">{$product->attachment_files_one|truncate:25:'...':false:true}</a></span> <a href='#' class=remove_attachment_one><img src='design/images/bullet_delete.png' title="Удалить цифровой товар"></a> <a href='#' class=add_attachment_one style='display:none;'><img src="design/images/cd_add.png" title="Добавить цифровой товар" /></a> {else} <a href='#' class=add_attachment_one><img src="design/images/cd_add.png" title="Добавить цифровой товар" /></a> {/if} <div class=browse_attachment_one style='display:none;'> <input type=file name=attachment_files_one> <input type=hidden name=delete_attachment_one> </div> </li> </ul> </div> #2 - \simpla\ProductAdmin.phpнайдем: class ProductAdmin extends Simpla { ниже вставим: private $allowed_files_extentions = array('pdf', 'doc', 'rar', 'zip'); найдем: // Категории товара $product_categories = $this->request->post('categories'); if(is_array($product_categories)) выше вставим: // Удаление файла_one if($this->request->post('delete_attachment_one')) { $this->products->delete_attachment_one($product->id); } // Загрузка файла_one $attachment_files_one = $this->request->files('attachment_files_one'); if(!empty($attachment_files_one['name']) && in_array(strtolower(pathinfo($attachment_files_one['name'], PATHINFO_EXTENSION)), $this->allowed_files_extentions)) { $this->products->delete_attachment_one($product->id); move_uploaded_file($attachment_files_one['tmp_name'], $this->root_dir.$this->config->documents_dir.$attachment_files_one['name']); $this->products->update_product($product->id, array('attachment_files_one'=>$attachment_files_one['name'])); } #3 - \api\Products.phpнайдем: p.body, и ниже вставим (в 2-х случаях): p.attachment_files_one, найдем: public function delete_image($id) { выше вставим: /* * * Удаление файла_one * @param $id * */ public function delete_attachment_one($id) { $query = $this->db->placehold("SELECT attachment_files_one FROM __products WHERE id=?", intval($id)); $this->db->query($query); $attachment_files_one = $this->db->result('attachment_files_one'); if(!empty($attachment_files_one)) { $query = $this->db->placehold("UPDATE __products SET attachment_files_one=NULL WHERE id=?", $id); $this->db->query($query); $query = $this->db->placehold("SELECT count(*) as count FROM __products WHERE attachment_files_one=? LIMIT 1", $attachment_files_one); $this->db->query($query); $count = $this->db->result('count'); if($count == 0) { @unlink($this->config->root_dir.$this->config->documents_dir.$attachment_files_one); } } } найдем: // Удаляем варианты $variants = $this->variants->get_variants(array('product_id'=>$id)); foreach($variants as $v) $this->variants->delete_variant($v->id); ниже вставим: // Удаляем файл_one $this->delete_attachment_one($id); $query = $this->db->placehold("DELETE FROM __products WHERE id=? LIMIT 1", $id); #5 - \confing\confing.phpнайдем: ;Изображения брендов brands_images_dir = files/brands/; ниже вставим: ;Документация товара documents_dir = files/documents/; Не забываем создать папку "documents" в папке "file" #4 - вывод в шаблоне {if $product->attachment_files_one}<li><a href="../{$config->documents_dir}{$product->attachment_files_one}">Техническая документация</a></li>{/if} Сразу скажу при создании дубля товара файлы и запись в бд не про дублируется.Еще есть 1 вопрос, как сделать проверку если такой файл с таким названием есть то выдать ошибку ... Знатоков прошу дополнить или дать замечания, что бы довести до ума данную доработку. Помогите пожалуйста выбераю файл pdf нажимаю кнопку загрузить и вылетает ошибка и файл не грузиться в чем дело может быть? Страница www.xxxx.ru не работает Сайт www.xxx.ru пока не может обработать этот запрос Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.