opendir не взима правилната директория :(

metal_head

Registered
Имам проблем с функцията opendir.

Да кажем имам 2 директории:

site/general/config.php
В тази директория ми е файла config.php, който ползва функцията opendir.

След това имам друга директория:
site/forum/images/categories, където има някои изображения.

Проблемът е, че по никакъв начин не мога да достигна тази директория с изображенията от config.php. Каквото и да правя и каквото и да ползвам ми казва:

Warning: opendir(forum/images/categories/) [function.opendir]: failed to open dir: No such file or directory in site/general/config.php on line 244

Като site си е истински адрес на уебсайт.

Пробвах в параметъра на opendir да сложа линка http://site...., същото дава. Пробвах и със $_SERVER['DOCUMENT_ROOT'] - същото. Вече ми лази по нервите. :/
 
opendir работи според get_cwd(); тоест според директорията в която работи главния скрипт, не в която е инклуднатия файл.И ползвай абсллютни пътища до файловете.
 
Ами малко е заплетено.

Имам това:

PHP:
$thumbnail = upload_file($_FILES['thumblink'], "forum/images/cats/", 51200);

Функцията upload_file трябва да провери дали има такива съществуващи файлове, и затова вика друга функция:

$matchcount = get_filecount($uploadpath, $file['name']);

Която вече прави проблема:

PHP:
function get_filecount($path, $substring){
$count = 0;
$dir = opendir($path);
while(true == ($filename = readdir($dir)) ){ 
if(strpos($filename, $substring) !== false) $count ++;
}
echo $count;
closedir($dir);
return $count;
}

upload_file и get_filecount са в този файл config.php в general. Просто искам да запиша картинка, която да се запише в друга директория, но това ми прави проблеми.
 
Пътя пробва ли да го направиш например:
/forum/images/cats/ или
./forum/images/cats/ или
../forum/images/cats/


Малка е вероятността, но все пак. Сега ще видя и кода, може там да има някаква грешка.
 
Пътя пробва ли да го направиш например:
/forum/images/cats/ или
./forum/images/cats/ или
../forum/images/cats/

Аз това пробвах около 10 пъти преди да напиша темата и сега в акт на отчаяние го пробвах пак и стана :shock:
Може би съм имал грешки в кода и съм оправил нещо без да искам.. Не знам.

Благодаря !
 

Back
Горе