[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: По разному видит переменную
buschrutt
Вот так работает:
function full_del_dir ($delVar)
{
$dir = opendir("../../Marki/Audi/$delVar");
while(($file = readdir($dir)))
{
if ( is_file ("../../Marki/$marka/$delVar/$file"))
{
unlink ("../../Marki/$marka/$file");
}
else if ( is_file ("../../Marki/$marka/$delVar/$file") &&
(
$file != ".") && ($file != ".."))
closedir ($dir);};
rmdir ("../../Marki/Audi/$delVar");
};


Вот так не работает:
function full_del_dir ($delVar)
{
$dir = opendir("../../Marki/$marka/$delVar");
while(($file = readdir($dir)))
{
if ( is_file ("../../Marki/$marka/$delVar/$file"))
{
unlink ("../../Marki/$marka/$file");
}
else if ( is_file ("../../Marki/$marka/$delVar/$file") &&
(
$file != ".") && ($file != ".."))
closedir ($dir);};
rmdir ("../../Marki/$marka/$delVar");
};


Не видит значение $marka вверху и внизу.

Вот ошибка:
Warning: opendir(../../Marki//A1) [function.opendir]: failed to open dir: No error in Z:\home\foto\www\admin\phpact\actmodelidel.php on line 25

Warning: readdir(): supplied argument is not a valid Directory resource in Z:\home\foto\www\admin\phpact\actmodelidel.php on line 26

Warning: rmdir(../../Marki//A1) [function.rmdir]: No such file or directory in Z:\home\foto\www\admin\phpact\actmodelidel.php on line 35

почему???



Спустя 3 минуты, 56 секунд (18.01.2010 - 17:50) Lex_R написал(а):
У вас переменная $marka глобальная? Если да, то передавайте ее в функцию в качестве параметра или в начале функции напишите global $marka

Спустя 2 минуты, 18 секунд (18.01.2010 - 17:53) Guest написал(а):
Она ничем не отличается от $delVar ... почему одна работает другая нет?

Спустя 3 минуты, 32 секунды (18.01.2010 - 17:56) Lex_R написал(а):
Отличается. Значение одной переменной вы передаете в функцию, а другой нет. Вот почитайте

Спустя 1 минута, 43 секунды (18.01.2010 - 17:58) Winston написал(а):
Почему так:
Цитата (buschrutt @ 18.01.2010 - 17:46)
while(($file = readdir($dir)))

а не так
while($file = readdir($dir))

и вместо else if пиши elseif.

Спустя 59 секунд (18.01.2010 - 17:59) Guest написал(а):
кажется понял про что Вы...но у меня в другом файле такой же скрипт но без вложения $marka ... только $delVar и в функции тоже ее использую... вроде работает.

Спустя 1 минута, 50 секунд (18.01.2010 - 18:01) Guest написал(а):
Цитата
и вместо else if пиши elseif.


Видимо книжка старая. Там такой синтаксис

Спустя 1 минута, 57 секунд (18.01.2010 - 18:03) Guest написал(а):
Цитата
или в начале функции напишите global $marka


Могу я это написать в начале скрипта или именно перед функцией?

Спустя 9 минут, 55 секунд (18.01.2010 - 18:13) Lex_R написал(а):
Именно в начале функции

Спустя 36 минут, 22 секунды (18.01.2010 - 18:49) sergeiss написал(а):
Цитата (PHPprogramer @ 18.01.2010 - 18:58)
и вместо else if пиши elseif.

Не обязательно. Можно и так, и эдак. Всё зависит от того, что хотим получить.
В данном случае вообще без разницы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.