Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка в менеджере изображений


emanci

Recommended Posts

Здравствуйте, уважаемые форумчане!

Начал работу с ОК 1.4.9.2. Изображения заливал как через FTP, так и через встроенный менеджер. Права на папку image - 777. Проблемы начались после того, как возникла необходимость упорядочить изображения по папкам.

Создал новую папку в менеджере и нажал кнопку "Переместить". Появилось окно "Переместить" со строкой ввода. Я так понял, что надо ввести имя папки, в которую я хочу переместить изображение. Но при клике в строке появляется сообщение об ошибке:

  Цитата

Warning: invalig argument supplied for foreach() in home/аккаунт_хостинга/public_html/имя_сайта/admin/controller/common/filemeneger.php on line 378Warning: invalig argument ...

, которое выводится одной строкой и его продолжение скрывается за пределами экрана.

Вторая проблема заключается в том, что потом эта же папка не работает в менеджере, хотя ее название выводится и в нее (image/data) через FTP помещены jpg-файлы. Всевозможные манипуляции с FTP и правами не дают никакого результата. Такое впечатление, что она заблокирована.

Заранее благодарю за помощь.

Надіслати
Поділитися на інших сайтах


  В 15.01.2011 в 02:21, 'emanci' сказав:

Права на папку image - 777. Проблемы начались после того, как возникла необходимость упорядочить изображения по папкам.

Создал новую папку в менеджере и нажал кнопку "Переместить". Появилось окно "Переместить" со строкой ввода. Я так понял, что надо ввести имя папки, в которую я хочу переместить изображение. Но при клике в строке появляется сообщение об ошибке, которое выводится одной строкой и его продолжение скрывается за пределами экрана.

1) перепроверьте права на:

image
image/data
image/cache
image/путь/до/ваших/новых/папок
2) полный текст ошибки можете посмотреть в исходнике - "просмотр исходного кода страницы" или "CTRL+U" (в большинстве браузеров).
  В 15.01.2011 в 02:21, 'emanci' сказав:

Вторая проблема заключается в том, что потом эта же папка не работает в менеджере, хотя ее название выводится и в нее (image/data) через FTP помещены jpg-файлы. Всевозможные манипуляции с FTP и правами не дают никакого результата. Такое впечатление, что она заблокирована.

см. выше пункт 1)
Надіслати
Поділитися на інших сайтах

  В 15.01.2011 в 04:00, 'afwollis' сказав:

1) перепроверьте права на:

image
image/data
image/cache
image/путь/до/ваших/новых/папок
2) полный текст ошибки можете посмотреть в исходнике - "просмотр исходного кода страницы" или "CTRL+U" (в большинстве браузеров).
1. Абсолютно на все права 777. Проблема осталась.

2. В исходнике текст ошибки отсутствует, так как он появляется во всплывающем окне. Но мне удалось его увидеть. Это 4-кратное повторение одной фразы (по количеству папок) и в конце перечисление названий созданных папок без каких-либо разделителей, как одно слово.

Еще одна ошибка - я создаю папку в менеджере, но она не отображается в папке image/data.

Надіслати
Поділитися на інших сайтах


  В 15.01.2011 в 05:33, 'emanci' сказав:

2. В исходнике текст ошибки отсутствует, так как он появляется во всплывающем окне. Но мне удалось его увидеть. Это 4-кратное повторение одной фразы (по количеству папок) и в конце перечисление названий созданных папок без каких-либо разделителей, как одно слово.

Прошу прощения, немного "недоговорил" можно было с помощью "firebug" и/или "инструменты разработчика" в Google_Chrome посмотреть текст ошибки.

В последнем можно включить отслеживание xhr-запросов. и соответственно ответов на них.

Написал в ЛС.

Надіслати
Поділитися на інших сайтах

Аналогичная проблема.

Сегодня только обнаружили такой глюк! Что делать, не знаем пока что. В IE вообще не работает менеджер файло. В Мазиле и Гугле - не открываются папки и отображаются не все jpg файлы. Что делать?!

Версия IE 8,0,7600,16385

Надіслати
Поділитися на інших сайтах


При запуске менеджера - выдается ошибка

Failed to load resource (в гугле в инструментах разработчика). Жалуется на файл index.php

а вот и подробности - ловите!!!

Uncaught TypeError: Cannot read property 'length' of null

$.ajax.success ---- index.php:170

I ---- Jquery-1.3.2.min.js:19

o.extend.ajax.N ---- jquery-1.3.2.min.js:19

Помогите нам всем. Уверен что проблема не сложная. Работа стоит (((

Змінено користувачем AvvA
Надіслати
Поділитися на інших сайтах


  В 18.01.2011 в 17:11, 'emanci' сказав:

К сожалению, я php знаю только поверхностно и если подскажете, то я покажу все.

Создаёте файл следующего содержания:

<?php
phpinfo();
?>
сохраняете с расширением php, заливаете на хост, открываете его в браузере, сохраняете вывод, прикрепляете к теме.
Надіслати
Поділитися на інших сайтах


Спокуха, народ) если не можете сами - берите ЛЮБОГО пхп кодера и объясните ему задачу.

Для начала чтобы было понимание КАК это работает.

В опенкарте очень правильно сделано то, что загруженое изображение прописывается в базу, т.е. если загрузил по фтп -- оно не подключится, его нужно "доткнуть" в админке. Процесс "подключения" -- это ничто иное как прописывание 1 записи в базу. В этом нет никакой особой уличной магии. Если это ОСНОВНОЕ изображение товара оно пишется в таблицу префикс_product в поле image, если это дополнительные изображения -- они пишутся в префикс_product_image. Формат записи у них аналогичный, это ОТНОСИТЕЛЬНЫЙ путь, начинающийся с data/ data находится внутри images. Впрочем как не трудно догадаться относительность пути начинается с images. Дальше когда происходит обращение к товару, вызывается функция генерации от него всяких превьюшек, которые складываются в кеш, но в базе о них ни слова. Это очень грамотное решение которое существенно упрощает жизнь всем.

В теории это вся премудрость.

Теперь внимание. Если вам нужно ПАЧКОЙ перенести изображения -- лучше написать примерно такой скрипт

<?php
$host="localhost";
$user_db="какой-то юзЭр";
$pass_db="пароль выдал хостер мы не знаем какой";
$dbase="и базу тоже он создал как называется не знаем";

$link = mysql_connect($host, $user_db, $pass_db);

mysql_select_db($dbase);
mysql_query("SET NAMES 'utf8'");

$id_imgs = mysql_query("SELECT `product`.`product_id`, `product_to_category`.`category_id`, `product`.`image` FROM `product` INNER JOIN `product_to_category` ON `product`.`product_id` = `product_to_category`.`product_id`");

$i = 0;
$j = 0;

while ($row = mysql_fetch_assoc($id_imgs)) {
	 
	 $work_path = '/home/ололололо-это_имя_моего_юзера_у_меня_vds/data/www/сайтеГ.ru/image/';
	 $work_dir = 'data/';
	 
	 $subdir = 'cat_'.$row['category_id'];
	 $pic_filename = str_ireplace("data/","", $row['image']);
	 
	 if(!is_dir($work_path.$work_dir.$subdir)) {
		mkdir($work_path.$work_dir.$subdir, 0777);
		
	 }

	 if(rename($work_path.$work_dir.$pic_filename, $work_path.$work_dir.$subdir.'/'.$pic_filename)) {

		$j++;

		if(mysql_query("UPDATE `базо_моя_ненаглядная`.`product` SET `image` = '".$work_dir.$subdir."/".$pic_filename."' WHERE `product`.`product_id` = '".$row['product_id']."';")) {
		
		 $i++;
		}
	 }
 
}

mysql_close($link);

echo "Copy photos: ".$j."\n Updated products: ".$i."\n";
?>

Вот что-то вроде такого скрипта перенесет ваши фотографии по подпапкам по шаблону cat_ид-категории/ и перезапишет пути в базе.

На самом деле я этот скрипт выложил для примера что массовые операции лучше делать не через файлменеджер, который не работает в ИЕ 6-м или еще в каком нибуть нетскейпе, а по нормальному, на сервере. На 5 тыщ товаров он у меня отработал за меньше чем за 10 секунд (правда я запускал его руками и с консоли, вдс-ка же).

Вобщем любой мало мальски грамотный кодер подручными скриптами которые пишутся за 30-40 минут решит все ваши проблемы с пакетными переносами легко и быстро)

Удачи!

Надіслати
Поділитися на інших сайтах


Соответственно, продолжая тему, если изображения еще не перенеслись - поправьте мой скрипт и разнесите по категориям, а потом можете прикрутить вот это: https://opencartforum.com/topic/1287-%D0%B4%D0%BE%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BA%D0%B0/ может пригодится) если в базе пути перепрописались, а изображения там же и остались - пишите скрипт который вернет пути на место ...

Вот я бы так поступил. Просто чего-то валит менеджер изображений, понять чего именно можно только приведя в порядок изображения.

Надіслати
Поділитися на інших сайтах


Господа, в моем случае оказалось все банально. Спасибо одному программисту который разобрался в проблеме.

В названиях файлов фотографий встречались кириллические символы. После их удаления из названий - все заработало на УРА!

Надеюсь у вас в этом же проблема.

Надіслати
Поділитися на інших сайтах


А это запросто ... Именно по этой причине присмотритесь к моей ссылочке на доработку. Даже если у вас кириллически названия -- скрипт их автоматом переименует.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.