0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 653 Просмотров
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
Делаю плагин переименовывания, пока готовы наброски.
Следующий скрипт переименовывает (я в папке плагина создавал test.php с тем же кодом), однако когда я его вставляю под

Код
public function onContentAfterSave( $context, $article, $isNew )
{

то ничего при сохранении материала не происходит. Почему?

Код
public function onContentAfterSave( $context, $article, $isNew )
{


$patch = '../../../images/recepty/newimg';
$handle = opendir($patch);
while(($file = readdir($handle))) {
    if ( is_file ($patch."/".$file) ) /*.переименовываем файл.*/
    {
        echo $patch .  "/" . $file;
        echo rename ( $patch .  "/" . $file, $patch .  "/renamed_" . $file );
    }
}

}
« Последнее редактирование: 11.01.2016, 12:21:49 от Karyuudo »
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
ничего - это что? не срабатывает событие? не находит директорию? находит, но не переименовывает файлы? что?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
ничего - это что? не срабатывает событие? не находит директорию? находит, но не переименовывает файлы? что?
не срабатывает событие - файл в папке так и остается не переименованным.
другие события срабатывают, а это как-будто игнорируется
*

fsv

  • Живу я здесь
  • 2669
  • 384 / 2
$patch = JPATH_ROOT . '/images/recepty/newimg';
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
Цитировать
не срабатывает событие - файл в папке так и остается не переименованным
это может быть из-за 100500 причин, например нет прав на запись в папке. вы уверенны что именно событие не срабатывает?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
$patch = JPATH_ROOT . '/images/recepty/newimg';
тоже ничего не происходит
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
это может быть из-за 100500 причин, например нет прав на запись в папке. вы уверенны что именно событие не срабатывает?
а как узнать причину?
права есть, это на денвере
путь - если запускать скрипт из соседней папки - то переименовывает.
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
а как узнать причину?
вариантов великое множество. в файл логируйте. хотя бы
Код: php
die;
сделайте в плагине и посмотрите что там происходит
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
Все понял! Спасибо.
После остановки - появилось сообщение об ошибке. Начал разбираться.
Оказывается у меня директория называется по другому, не recepty. Это я перепутал с другим...
« Последнее редактирование: 13.01.2016, 15:32:23 от Karyuudo »
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
ну вот, уже проще. а то событие не вызывается, событие не вызывается :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Karyuudo

  • Захожу иногда
  • 354
  • 0 / 0
Подумал, что оптимальнее перенести этот скрипт в другой плагин.
но почему-то снова не работает :(

Код
$patch = JPATH_ROOT .'/images/test';
$handle = opendir($patch);

while(($file = readdir($handle))) {

    if ( is_file ($patch.'/'.$file) ) /*.переименовываем файл.*/
    {
echo $patch .  '/' . $file.'<br> - patch+file';

if ($file=='0.jpg' || $file=='0.JPG'){

rename ( $patch .  '/' . $file, $patch .  '/'.$patch.'.jpg');
echo $patch .  '/' . $file.'<br> - patch+file';
echo $patch.' - patch <br>';
echo $file.' - file <br>';
die;

} //переименовать 0.jpg в название папки.jpg



if (preg_match('/^(\d+)(.[jJ][pP][gG])$/u', $file)) {
rename ( $patch .  "/" . $file, $patch .  "/".$patch.'-'.mb_strtolower($file));} //добавить к цифренному имени файла нпазвание папки и черточку
    }
}

выдает:
Цитировать
Z:\home\сайт.ru\www/images/test/0.JPG
- patch+file
Warning: rename(Z:\home\сайт.ru\www/images/test/0.JPG,Z:\home\сайт.ru\www/images/test/Z:\home\сайт.ru\www/images/test.jpg) [function.rename]: �������������� ������ � ����� �����, ����� ����� ��� ����� ����. (code: 123) in Z:\home\сайт.ru\www\plugins\content\imageresizer\imageresizer.php on line 168
Z:\home\сайт.ru\www/images/test/0.JPG
- patch+fileZ:\home\сайт.ru\www/images/test - patch
0.JPG - file

в то время точно такой же скрипт, вызываемый из другого плагина выдает:
Цитировать
Z:\home\сайт.ru\www/images/test/0.JPG
- patch+fileZ:\home\сайт.ru\www/images/test - patch
0.JPG - file

кажется понял, надо было кусок кода поместить в другое место... пробую дальше.. но уже нет ошибки и пошло переименовывание, правда пока не как надо
« Последнее редактирование: 14.01.2016, 19:22:19 от Karyuudo »
*

fsv

  • Живу я здесь
  • 2669
  • 384 / 2
rename ( $patch .  '/' . $file, $patch .  '/'.$patch.'.jpg');
newname - 2 раза путь указали
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пробовали антиспам плагин akismet? Или как боретесь со спамом

Автор falkas

Ответов: 4
Просмотров: 779
Последний ответ 23.05.2020, 18:43:03
от Mik Foxi
Почему в учебном уроке перенаправление идет на тот же вид?

Автор borro

Ответов: 0
Просмотров: 189
Последний ответ 12.04.2020, 12:03:51
от borro
Пишу плагин подмены города, как правильнее сделать?

Автор d0ublezer0

Ответов: 6
Просмотров: 425
Последний ответ 03.12.2019, 17:52:51
от dm-krv
Плагин дебаггер

Автор ADM1NZ

Ответов: 5
Просмотров: 410
Последний ответ 28.11.2019, 14:58:40
от AlekVolsk
Плагин для определения размера файла

Автор bigbelka

Ответов: 6
Просмотров: 575
Последний ответ 26.09.2019, 15:55:08
от bigbelka