Удаление изображений в своем приложении

Здравствуйте. Не как не могу понять в чем причина. Если пишу

waFiles::delete('$img'); - то изображение не удаляется,

а если

$dir = wa()->getDataPath('image', 'app');

waFiles::delete('$dir/$img'); - то удаляется папка со всем содержимым

Собственно мне требуется удалять только указанное изображение.

5 ответов

  • 1
    Genasyst 30 января 2017 15:49 #

    вам надо начать отсюда: http://php.net/manual/ru/language.types.string.php...

    • +1
      Fedoric Fedoric 30 января 2017 16:03 #

      waFiles::delete("$img");

      $file->waImage()->save("$dir/$filename");

      вот как у меня

      • +1
        Genasyst Genasyst 30 января 2017 16:12 #

        вроде getDataPath возвращает директорию со слешем на конце! Попробуйте waLog::dump($dir); и для имени файла тоже...

  • 1
    Eugen Nichikov 30 января 2017 16:11 #
  • 1
    Fedoric 30 января 2017 16:33 #

    $r = $record->fetchField('img');

    wa_dumpc($r); -- выдает имя файла img.jpg

    $dir = wa()->getDataPath('image/', 'app');

    wa_dumpc($dir); -- /путь/wa-data/public/app/image/


    $d = wa()->getDataPath("$dir$r");

    wa_dumpc($d); -- /путь/wa-data/public/app/image/img.jpg

    $del = waFiles::delete("$dir$r");

    wa_dumpc($del); -- true

    файл как был на месте так и висит



  • 0
    Fedoric 30 января 2017 16:51 #

    заработало ) странно !

  • 0
    Fedoric 30 января 2017 17:07 #

    не думаю. так как режим отладки включен и через f5 всегда обновляю

    • +2
      Николай Иванов Николай Иванов 30 января 2017 20:14 #

      Как работает кэш в режиме дебага, доподлинно знает только создатель -)
      Не надейтесь на него и чистите руками.

      • +1
        Fedoric Fedoric 30 января 2017 20:33 #

        Не совсем Вас понял.

        • +1
          Genasyst Genasyst 30 января 2017 20:47 #

          Стоит учитывать еще кеш сервера!

          • +1
            Fedoric Fedoric 30 января 2017 20:56 #

            Да не явно не в этом дело ) Дело в моей невнимательности.

        • +1
          Николай Иванов Николай Иванов 30 января 2017 21:00 #

          Я особо не разбирал как именно работает кэш фрэймворка. Но неоднократно наблюдал абсолютно разное поведение при казалось бы похожих условиях. Где-то с первого раза обновление срабатывает, где-то со второго, где-то пока раз пять-десять не тыкнеш...Так то там всё прост и понятно, но вот подиж ты.
          Собственно это и приучило меня чистить кэш руками - через инсталлер или просто всё в папке wa-cache удалять.
          Понятно что есть и собственный файловый кэш ОС и вебсервера и много-много чего-еще. Разбираться что именно виновато - лень -)

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите