Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.
Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF и IPTC.
Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.
Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.
Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.
Множество мелких исправлений ошибок и оптимизаций.
Сайт проекта
GitHub расширения
Скачать
Проект Joomla рад сообщить о выпуске Joomla 5.3.2. Это релиз исправлений ошибок для серии Joomla 5.3.
File "1661539984.xlsx" does not exist.
$file_path = $_FILES['FILE']['tmp_name'];
<form method="POST" id="import_excel_form" enctype="multipart/form-data"> <span id="message"></span> <input type="file" name='import_excel' class="form-control"/> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">✕</button> <input type="submit" name="import" id="import" class="btn btn-primary" value="Import" /> </form><script>$(document).ready(function(){ $('#import_excel_form').on('submit', function(event){ event.preventDefault(); $.ajax({ url:"cat_import.php", method:"POST", data:new FormData(this), contentType:false, cache:false, processData:false, beforeSend:function(){ $('#import').attr('disabled', 'disabled'); $('#import').val('Importing...'); }, success:function(data) { $('#message').html(data); $('#import_excel_form')[0].reset(); $('#import').attr('disabled', false); $('#import').val('Import'); } }) });});</script><?phprequire '../db.php';require '../lib/autoload.php';if($_FILES['import_excel']['name'] != ''){ $allowed_extension = array('xls','csv','xlsx'); $file_array = explode('.', $_FILES['import_excel']['name']); $file_extension = end($file_array); if(in_array($file_extension, $allowed_extension)){ $file_name = time(). '.' . $file_extension; move_uploaded_file($_FILES['import_excel']['tmp_name'], $file_name); $file_type = \PhpOffice\PhpSpreadsheet\IOFactory::identify($file_name); $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($file_type); $spreadsheet = $reader->load($file_name); unlink($file_name); $data = $spreadsheet->getActiveSheet()->toArray(); $count = "0"; foreach($data as $row){ if($count > 0){ $sub_cat_name = $row['0']; $sub_cat_code = $row['1']; $sub_cat_parent = $row['2']; $sub_cat_desc = $row['3']; $query = "INSERT INTO e_sub_cat (sub_cat_name, sub_cat_code, sub_cat_parent, sub_cat_desc) VALUES ('$sub_cat_name', '$sub_cat_code', '$sub_cat_parent', '$sub_cat_desc')"; $result = mysqli_query($link, $query); } else { $count = "1"; } } $message = '<div class="alert alert-success">Data Imported Successfully</div>'; } else { $message = '<div class="alert alert-danger">Only .xls .csv or .xlsx file allowed</div>'; }}else{ $message = '<div class="alert alert-danger">Please Select File</div>';}echo $message;?>
$spreadsheet = $reader->load($_FILES['import_excel']['tmp_name']);
Fatal error: Uncaught PhpOffice\PhpSpreadsheet\Reader\Exception: File "1661700536.xlsx" does not exist. in /home/biss466/domains/chas-tv.in.ua/public_html/demo/1/WorkTime/lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php:149 Stack trace: #0 /home/biss466/domains/chas-tv.in.ua/public_html/demo/1/WorkTime/lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php(129): PhpOffice\PhpSpreadsheet\Shared\File::assertFile('1661700536.xlsx') #1 /home/biss466/domains/chas-tv.in.ua/public_html/demo/1/WorkTime/lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php(110): PhpOffice\PhpSpreadsheet\IOFactory::createReaderForFile('1661700536.xlsx', NULL) #2 /home/biss466/domains/chas-tv.in.ua/public_html/demo/1/WorkTime/stock/cat_import.php(17): PhpOffice\PhpSpreadsheet\IOFactory::identify('1661700536.xlsx') #3 {main} thrown in /home/biss466/domains/chas-tv.in.ua/public_html/demo/1/WorkTime/lib/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php on line 149
echo '<pre>' . print_R($_FILES['import_excel'], 1); exit;
Права на файл дают возможность записи, мы проверили это, добавив код:putenv('TMPDIR=/home/biss466/domains/chas-tv.in.ua/public_html/demo/tmp');echo substr(sprintf('%o', fileperms(sys_get_temp_dir())), -4);Уже после загрузки временная папка меняется на корневую "/tmp" вместо указанной.Нужно проверить где оно меняет её и отключить этот фрагмент кода, либо изменить.
Так и ничего не получилось, хостер написалКодПрава на файл дают возможность записи, мы проверили это, добавив код:putenv('TMPDIR=/home/biss466/domains/chas-tv.in.ua/public_html/demo/tmp');echo substr(sprintf('%o', fileperms(sys_get_temp_dir())), -4);Уже после загрузки временная папка меняется на корневую "/tmp" вместо указанной.Нужно проверить где оно меняет её и отключить этот фрагмент кода, либо изменить.
Array( [name] => 1.xlsx [type] => [tmp_name] => [error] => 6 [size] => 0)
https://www.php.net/manual/ru/features.file-upload.errors.php UPLOAD_ERR_NO_TMP_DIR Значение: 6; Отсутствует временная папка.
А какой у вас параметр upload_tmp_dir
php_admin_value[upload_tmp_dir] = /tmp
Но у меня догадки что там не должно писать no value
на одном из сайтов именно такое значение и все работает. скорее всего в этом случае используется дефолтное значение "/tmp". А в вашем случае похоже, что нет прав к этому тмп, о чем и писалось выше.
А вы можете протестировать мой код у себя на хостинге или сервере там где есть эта библиотека. Я просто в тупике сейчас и не знаю куда дальше копать.
Array( [import_excel] => Array ( [name] => Без имени 1.odt [type] => application/vnd.oasis.opendocument.text [tmp_name] => /tmp/phpm0rezX [error] => 0 [size] => 15680 ))
Подскажите мне последовательность действий. Где эта папка находится
<?phpfile_put_contents('/tmp/test.txt', 'test');echo file_get_contents('/tmp/test.txt');?>OK