Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите с функцией, как правильно передать значение в функци 
:(
    Опции темы
supervladislav
Дата 8.6.2007, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



мне нужно чтоб функция возвращала  список файлов определённой дериктрории)))
я пробовал уже и так и сяк как показано в книге,что неправильно я делаю,нужно
ведь в return вписать возвращаемую переменную.
Код

<?php
function loadfile()
{
$path=getcwd().'/ot';
$a=opendir($path);
while($files=readdir($a)){
if($files!='.' || $files!='..')
{continue;}

}return $loadfile;}
files($files);
?>


Это сообщение отредактировал(а) supervladislav - 8.6.2007, 01:09
PM MAIL   Вверх
teroni
Дата 8.6.2007, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



glob("papka/*") - выдает массив всех файлов в папке papka
PM MAIL   Вверх
BuShaRt
Дата 8.6.2007, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



supervladislav, 
А вам удобно программировать, когда вы не видете пробегаясь глазами по коду, начало и концы циклов или функций? smile

и, вы функцию не с тем именем запускаете, что задали ей smile

Это сообщение отредактировал(а) BuShaRt - 8.6.2007, 07:32
PM MAIL   Вверх
DimaSiK
Дата 8.6.2007, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Вот так подойдет.
Код

function loadfile()
{
 $path=getcwd().'/ot'; 
 $a=opendir($path);
 while($files=readdir($a))
 {
  if(($files!='.') && ($files!='..')&&(is_file($files)))
 {$list_files[] = $files}

}return $list_files;}

  loadfile();




--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
supervladislav
Дата 8.6.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Цитата(DimaSiK @ 8.6.2007,  07:50)
Вот так подойдет.
Код

function loadfile()
{
 $path=getcwd().'/ot'; 
 $a=opendir($path);
 while($files=readdir($a))
 {
  if(($files!='.') && ($files!='..')&&(is_file($files)))
 {$list_files[] = $files}

}return $list_files;}

  loadfile();


спасибо ,вопрос такой ,а скажите в return вписывается переменная в которую возвращается  значение функции????
Так? 
PM MAIL   Вверх
supervladislav
Дата 8.6.2007, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



блин ребята неработает))))
Код

<?php
function loadfile()
{
 $path=getcwd().'/ot'; 
 $a=opendir($path);
 while($files=readdir($a))
 {
  if(($files!='.') && ($files!='..') && (is_file($files)))
 { continue;}

}return $files;}

 echo(loadfile());
?>

выдаётся что-то вроде пустого экрана,либо неизвестнаяпеременная $files
PM MAIL   Вверх
astra0
Дата 9.6.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 30.5.2007

Репутация: нет
Всего: нет



привет. все делай как вначале, тока добавь после opendir chdir или  chkdir с тем же парамнтром. и все


PM MAIL   Вверх
Golda
Дата 9.6.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



supervladislav, не совсем понимаю, чего Вы ожидаете от своей функции.

Если ожидается, что она вернет массив файлов в дирректории, то наилучший вариант предложил teroni (glob()). Если у Вас старая версия php или же непременно хотите отладить свой вариант, берите вариант DimaSiK, только выводить результат нужно с помощью print_r(), а не echo. echo массивы не выводит.

Судя по тому, что Вы сменили возвращаемое значение с  $list_files на $file и перестали где-либо накапливать получаемые элементы, возможно, Вы хотите получить имя одного файла/папки. Видимо, последнего . Но в конце цикла, когда вся папка перебрана, значение переменной $file равнo false (потому цикл и заканчивается). Ну echo об этом и сообщает.

Повторять первоначальный вариант бессмысленно. Там Вы возращаете переменную, не опредделенную в функции и т.д. А вот застраховаться от проблем с относительным путем стоит. Но я бы вместо chdir сформировала с помощью __FILE__ абсолютный.

  

Цитата(supervladislav @  8.6.2007,  22:01 Найти цитируемый пост)
спасибо ,вопрос такой ,а скажите в return вписывается переменная в которую возвращается  значение функции????
Так?  


Нет, содержащая то значение, которое Вы хотите вернуть



--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
supervladislav
Дата 10.6.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



вот сделала всётак блин ругаетсявотентим
Parse error: parse error, unexpected $end in z:\home\localhost\www\www\funt.php on line 16
<?php
function loadfile()
{
$path=getcwd().'\'.ot; 
$a=opendir($path);
chdir($path);
while($files=readdir($a))
{
if(is_file($files))
{continue;}
}
return $files;
}
echo(loadfile());

?>
PM MAIL   Вверх
Golda
Дата 10.6.2007, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 20
Всего: 42



1. \' воспринимается как экранированная кавычка. В результате парсер считает, что у Вас строка не закрыта (нет завершающей кавычки)

2. chdir() употреблен неверно. Вы фиксируете найденную директорию вместо того, чтобы поменять директорию на нужную перед запросом getcwd()

3. См. предыдущий пост

Это сообщение отредактировал(а) Golda - 10.6.2007, 09:04


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
supervladislav
Дата 11.6.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



спасибо  Golda,  я уж незнал что делать ,а на счёт ковычек менявещь вобще убила я ведь много раз так делал ивсё работало??? 
Блин массив передавать получаетсяа почему с переменной облом.Еслиспеременной только воть так
Код

function loadfile()
{
$path=getcwd().'\ot'; 

$a=opendir($path);

while($files=readdir($a))
{
if(is_file($files))
{@$use.=$files;}
}
return $use;
}

echo(loadfile());


Это сообщение отредактировал(а) supervladislav - 12.6.2007, 00:42
PM MAIL   Вверх
BuShaRt
Дата 12.6.2007, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Если собачу юзать, то обломов не избежать ;)
PM MAIL   Вверх
acdcee
Дата 5.5.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.7.2007

Репутация: нет
Всего: 1



Код

function load_dir_files() {
$dir = dir("mydir/"); //хотя слэш не обязателен :)
//Вариант номер Адын 
$ret_file = array();
while(($file = $dir->read()) !== FALSE) { //наоборот незя ибо наверно не правильно  :crazy 
         if(substr($file, -4) == '.php' && $file != '.' && $file != '..') {
                $ret_file[] = $file;
          }
}
$dir->close();

//вариант номер Два
$ret_file = '';
while(($file = $dir->read()) !== FALSE) { //наоборот незя ибо наверно не правильно  :crazy 
         if(substr($file, -4) == '.php' && $file != '.' && $file != '..') {
                $ret_file .= $file."<br>"; //в список ))
          }
}
$dir->close();
return $ret_file;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0926 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.