Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с аргументом пожалуйста
 
 автор: kir-log   (05.11.2014 в 19:28)   письмо автору
 
 

На изначальном сайте, был создан поддомен. Структура следующая: мой сайт - корень корень - поддомен
На него были скопированы документы. CMS при редактировании файлов поддомена, при редактировании изображений, стала выдавать ошибку:
[codeWarning: scandir(/home***): failed to open dir: rnNo such file or directory in /home/components/img-edit.php on line 12 rnWarning: scandir(): (errno 2): No such file or directory in on line 12 rnWarning: Invalid argument supplied for foreach() in /img-edit.php on line 12][/code]

Требуемый файл в этом месте выглядит так:
 $path = "/data/" . get_host() . "/" . $folder;
    foreach(scandir($_SERVER['PHP_SELF'] . $path) as $file){
    if(! preg_match("/[a-f0-9]{32}\.(jpg|png|gif)$/", $file))
        continue; 
    $st = stat( $_SERVER['PHP_SELF'] . "$path/$file");
    $files[] = array("name" => "$path/$file", "timestamp" => $st[9]);
    }

Помогите понять, как помочь ему найти нужный каталог?

  Ответить  
 
 автор: Commander   (05.11.2014 в 19:49)   письмо автору
 
   для: kir-log   (05.11.2014 в 19:28)
 

$_SERVER['PHP_SELF'] вернет вам путь к текущему скрипту относительно корневой папки сайта. Например: "/test/index.php". То есть, у вас адрес папки, которую вы сканируете, выглядит примерно так: /components/img-edit.php/data/.../...

  Ответить  
 
 автор: kir-log   (05.11.2014 в 20:01)   письмо автору
 
   для: Commander   (05.11.2014 в 19:49)
 

В корневом сайте этот код выглядел так
 $path = "/data/" . get_host() . "/" . $folder;
    foreach(scandir($_SERVER['DOCUMENT_ROOT'] . $path) as $file){
    if(! preg_match("/[a-f0-9]{32}\.(jpg|png|gif)$/", $file))
        continue; 
    $st = stat( $_SERVER['DOCUMENT_ROOT'] . "$path/$file");
    $files[] = array("name" => "$path/$file", "timestamp" => $st[9]);
    }

На 'PHP_SELF' был изменен на поддомене. Я так понимаю неверно.
Подскажите пожалуйста, как задать верный путь?

  Ответить  
 
 автор: Commander   (05.11.2014 в 20:42)   письмо автору
 
   для: kir-log   (05.11.2014 в 20:01)
 

Если бы я знал, что за папку вам надо просканировать... Пропишите в :

...scandir($_SERVER['DOCUMENT_ROOT'] . $path)...


абсолютный путь к сканируемой папке. $_SERVER["DOCUMENT_ROOT"] представляет собой абсолютный путь к корневой папке сайта (типа: /var/www/user/data/www/site1ru). В том коде, который вы только что привели путь представляет собой: [корень сайта]/data/get_host()/$folder. Что возвращает get_host() и что находится в переменной $folder я понятия не имею.

P.S. Думаю, можно попробовать поменять $_SERVER["DOCUMENT_ROOT"] на $_SERVER["DOCUMENT_ROOT"] . "/[папка для поддомена]/".

  Ответить  
 
 автор: kir-log   (05.11.2014 в 21:05)   письмо автору
2 Кб
 
   для: Commander   (05.11.2014 в 20:42)
 

В первоначальном сайте, путь следующий:
Мой сайт/http/components/img-edit.php

В поддомене, это:
мой сайт/http/master-class/components/img-edit.php

На основном сайте код конечного файла работает безупречно. Я прикрепил файл на всякий случай. На поддомене выдает ошибку. Есть соображения, как дописать иной путь? Если честно я не силен в php.

  Ответить  
 
 автор: kir-log   (05.11.2014 в 21:12)   письмо автору
 
   для: Commander   (05.11.2014 в 20:42)
 

Предложенное вами решение, просто дописать папку, в общем то решило эту проблему. Теперь осталось добавить ."/master-class/" после каждой директории server))).


Да, проблема решена. Спасибо огромное!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования