в версии shop2_4_excel_php.html вообще не нашел раздела template_table. перетаскивать некуда.
Вам нужно пойти по другому пути. Сделайте сначала магазин на гугл таблице 2,4 , а потом перенесите на свой сайт.
Для этого зайдите в таблицу в любого открытого магазина 2.4 , который вам больше нравится и создайте его копию.
2. после того как скопируете таблицу, запустите макрос HEEG магазин
3. укажите где лежит ваш файл save.php такого содержания со своим паролем (выделил красным)
<?php
/////////////УСТАНОВИТЕ ПАРОЛЬ, который будет использоваться в поле PhpPass для сохранений страниц и картинок на сервер через PHP///////////
$PhpPass = "YORPASSSSSS";
if(isset($_POST['phppublic'])){
if($_POST['name2']==$PhpPass) {
$namehtml = $_POST['namehtml'];
$mess = $_POST['client_comments2'];
$file=fopen("../" .$namehtml, "w");
fwrite ($file, $mess);
fclose($file);
echo 'Ваш магазин опубликован.';
}else{echo 'Произошла ошибка при публикации. Проверьте пароль'; };
}
// ПОЛУЧЕНИЕ КАРТИНОК, если в $_FILES существует "images" и она не NULL
if (isset($_POST['phpimages']) and $_POST['name2']==$PhpPass and isset($_FILES['images'])) {
$prefix = $_POST['prefix'];
// Изменим структуру $_FILES
foreach($_FILES['images'] as $key => $value) {
foreach($value as $k => $v) {
$_FILES['images'][$k][$key] = $v;
}
// Удалим старые ключи
unset($_FILES['images'][$key]);
}
// Загружаем все картинки по порядку
foreach ($_FILES['images'] as $k => $v) {
// Загружаем по одному файлу
$fileName = $_FILES['images'][$k]['name'];
$fileTmpName = $_FILES['images'][$k]['tmp_name'];
$fileType = $_FILES['images'][$k]['type'];
$fileSize = $_FILES['images'][$k]['size'];
$errorCode = $_FILES['images'][$k]['error'];
// Проверим на ошибки
if ($errorCode !== UPLOAD_ERR_OK || !is_uploaded_file($fileTmpName)) {
// Массив с названиями ошибок
$errorMessages = [
UPLOAD_ERR_INI_SIZE => 'Размер файла превысил значение upload_max_filesize в конфигурации PHP.',
UPLOAD_ERR_FORM_SIZE => 'Размер загружаемого файла превысил значение MAX_FILE_SIZE в HTML-форме.',
UPLOAD_ERR_PARTIAL => 'Загружаемый файл был получен только частично.',
UPLOAD_ERR_NO_FILE => 'Файл не был загружен.',
UPLOAD_ERR_NO_TMP_DIR => 'Отсутствует временная папка.',
UPLOAD_ERR_CANT_WRITE => 'Не удалось записать файл на диск.',
UPLOAD_ERR_EXTENSION => 'PHP-расширение остановило загрузку файла.',
];
// Зададим неизвестную ошибку
$unknownMessage = 'При загрузке файла произошла неизвестная ошибка.';
// Если в массиве нет кода ошибки, скажем, что ошибка неизвестна
$outputMessage = isset($errorMessages[$errorCode]) ? $errorMessages[$errorCode] : $unknownMessage;
// Выведем название ошибки
die($outputMessage);
} else {
// Создадим ресурс FileInfo
$fi = finfo_open(FILEINFO_MIME_TYPE);
// Получим MIME-тип
$mime = (string) finfo_file($fi, $fileTmpName);
// Проверим ключевое слово image (image/jpeg, image/png и т. д.)
if (strpos($mime, 'image') === false) die('Можно загружать только изображения.');
// Результат функции запишем в переменную
$image = getimagesize($fileTmpName);
// Зададим ограничения для картинок
$limitBytes = 1024 * 1024 * 12;
$limitWidth = 12800;
$limitHeight = 7680;
// Проверим нужные параметры
if (filesize($fileTmpName) > $limitBytes) die('Размер изображения не должен превышать 12 Мбайт.');
if ($image[1] > $limitHeight) die('Высота изображения не должна превышать 7680 точек.');
if ($image[0] > $limitWidth) die('Ширина изображения не должна превышать 12800 точек.');
// Сгенерируем новое имя файла через функцию getRandomFileName() или нет....
// $name = getRandomFileName($fileTmpName);
$name = $prefix .substr($fileName, 0, strpos($fileName, '.' ));
// Сгенерируем расширение файла на основе типа картинки
$extension = image_type_to_extension($image[2]);
// Сократим .jpeg до .jpg
$format = str_replace('jpeg', 'jpg', $extension);
$fileName= str_replace('jpeg', 'jpg', $fileName);
// Переместим картинку с новым именем и расширением в папку /pics
// if (!move_uploaded_file($fileTmpName, __DIR__ . '/upload/' . $name . $format)) {
// if (!move_uploaded_file($fileTmpName, '../images/' . $name . $format)) {
if (!move_uploaded_file($fileTmpName, '../images/' .$prefix .$fileName)) {
die('При записи изображения на диск произошла ошибка. ' .$fileName);
}
}
};
echo 'Файлы успешно загружены!';
};
// File functions.php
function getRandomFileName($path)
{
$path = $path ? $path . '/' : '';
do {
$name = md5(microtime() . rand(0, 9999));
$file = $path . $name;
} while (file_exists($file));
return $name;
}
?>
после этого можете дать необходимые разрешения в .htaccess , чтобы php скрипт мог записывать файлы к вам на хостинг, когда они прилетают с
heeg.ru у магазина картин как-то так
AddDefaultCharset UTF-8
<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?.*">
Order allow,deny
Allow from all
</FilesMatch>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "https://heeg.ru"
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header set Access-Control-Max-Age "1000"
Header set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, x-access-token"
</IfModule>
AddDefaultCharset UTF-8
php_value upload_max_filesize 14M
php_value post_max_size 16M
после этого php будет сохранять картинки и нарезать магазин на отдельные html сразу на сайт (если введен правильный пароль).
Когда все заработает, удаляйте ненужные разделы и товары (картины) и меняйте дизайн на свой.
понедельник, 7 апреля 2025 г. в 17:57:37 UTC+3, Boris Semenov: