|
|
|
| На изначальном сайте, был создан поддомен. Структура следующая: мой сайт - корень корень - поддомен
На него были скопированы документы. 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]);
}
|
Помогите понять, как помочь ему найти нужный каталог? | |
|
|
|
|
|
|
|
для: kir-log
(05.11.2014 в 19:28)
| | $_SERVER['PHP_SELF'] вернет вам путь к текущему скрипту относительно корневой папки сайта. Например: "/test/index.php". То есть, у вас адрес папки, которую вы сканируете, выглядит примерно так: /components/img-edit.php/data/.../... | |
|
|
|
|
|
|
|
для: 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' был изменен на поддомене. Я так понимаю неверно.
Подскажите пожалуйста, как задать верный путь? | |
|
|
|
|
|
|
|
для: 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"] . "/[папка для поддомена]/". | |
|
|
|
|
 2 Кб |
|
|
для: Commander
(05.11.2014 в 20:42)
| | В первоначальном сайте, путь следующий:
Мой сайт/http/components/img-edit.php
В поддомене, это:
мой сайт/http/master-class/components/img-edit.php
На основном сайте код конечного файла работает безупречно. Я прикрепил файл на всякий случай. На поддомене выдает ошибку. Есть соображения, как дописать иной путь? Если честно я не силен в php. | |
|
|
|
|
|
|
|
для: Commander
(05.11.2014 в 20:42)
| | Предложенное вами решение, просто дописать папку, в общем то решило эту проблему. Теперь осталось добавить ."/master-class/" после каждой директории server))).
Да, проблема решена. Спасибо огромное! | |
|
|
|