|
Автор |
Сообщение |
h41t
Зарегистрирован: 20.01.2007 Сообщения: 7 Откуда: /dev/null
|
|
|
|
Какая функция в PHP возврощает колличество файлов в директории? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Такой функции нет, но можно использовать scandir, а потом посчитать к-во элементов массива
array scandir (string catalog [, int order])
Функция scandir — Получить список файлов и каталогов, расположенных по указанному пути
Возвращает массив, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре catalog. Если каталог не является таковым, функция возвращает логическое значение FALSE и генерирует сообщение об ошибке уровня E_WARNING.
По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр order (равен 1), сортировка производится в алфавитном порядке по убыванию.
Код: |
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
/* Результатом будет нечто вроде:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
*/
?> |
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Подсчитать к-во элементов можно с помощью count():
count -- Посчитать количество элементов массива или количество свойств объекта
Описание
int count ( mixed var [, int mode] )
Возвратить количество элементов переменной var, которая обычно является array, или любым другим объектом, который может содержать хотя бы один элемент.
Для объектов count() возвращает количество нестатических свойств, не принимая во внимание видимость. Если у вас включена поддержка SPL, вы можете перехватить count(), реализуя интерфейс Countable. Этот интерфейс имеет только один метод, count(), который возвращает значение функции count().
Если var не является массивом или объектом, реализующим интерфейс Countable, будет возвращена 1. За одним исключением: если var - NULL, то будет возвращён 0.
Замечание: Дополнительный параметр mode был добавлен начиная с PHP 4.2.0.
Если дополнительный параметр mode установлен в COUNT_RECURSIVE (или 1), count() будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта всех элементов многомерных массивов. Предустановленное значение параметра mode - 0. count() не обнаруживает бесконечную рекурсию.
Цитата: |
Предостережение
count() может возвратить 0 для переменных, которые не установлены, но также может возвратить 0 для переменных, которые инициализированы пустым массивом. Используйте функцию isset() для того, чтобы протестировать, установлена ли переменная. |
Пожалуйста, см. раздел этого руководства Array для того, чтобы получить детальное представление о реализации и использовании массивов в PHP.
Код: |
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3;
$result = count(null);
// $result == 0;
$result = count(false);
// $result == 1;
?> |
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
А практически, усть разница между readdir() и scandir()? _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
h41t
Зарегистрирован: 20.01.2007 Сообщения: 7 Откуда: /dev/null
|
|
|
|
Спасибо, den! |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Всегда рад )) |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Krow
Злостный хелпер
Зарегистрирован: 09.06.2006 Сообщения: 324 Откуда: Краснодар->Ейск
|
|
|
|
не буду открывать новую тему...
значит вопрос такой.
есть переменная $_GET
синтаксис для одной принимаемой перменной:
$var = $_GET['var'];
а как мне с помощью этой же переменной принимать больше входящих данных на примере.. допустим у меня есть строка:
http://localhost/index.php?name=anton&nick=krow
вот как разграничить это 2 переменных? _________________ если вы чего то не знаете то не значит что этого нет.
разработчики никогда не бывают не правы! |
|
Вернуться к началу |
|
|
Krow
Злостный хелпер
Зарегистрирован: 09.06.2006 Сообщения: 324 Откуда: Краснодар->Ейск
|
|
|
|
блин немного не в той теме отписался.. но ответа на сей вопрос не нашёл в соответствующей теме.... _________________ если вы чего то не знаете то не значит что этого нет.
разработчики никогда не бывают не правы! |
|
Вернуться к началу |
|
|
Dimidroll
Новенький
Зарегистрирован: 26.02.2006 Сообщения: 52 Откуда: Львов
|
|
|
|
недоконца понял вопрос....
у тебя и так они разграничены....
у тя будет две переменные:
$HTTP_GET_VARS['name'] с значением anton
$HTTP_GET_VARS['nick'] с значением kro |
|
Вернуться к началу |
|
|
Krow
Злостный хелпер
Зарегистрирован: 09.06.2006 Сообщения: 324 Откуда: Краснодар->Ейск
|
|
|
|
т.е. я могу поочередно написать
$name = $_GET['name'];
$nick = $_GET['nick'];
и всё будет нормально? _________________ если вы чего то не знаете то не значит что этого нет.
разработчики никогда не бывают не правы! |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Делается все намного проще. В начало сценария помещаешь операторы:
foreach($HTTP_POST_VARS as $key => $value)
eval("$".$key."='".$value."';");
foreach($HTTP_GET_VARS as $key => $value)
eval("$".$key."='".$value."';");
И работаешь с переменными как обычно ) |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Цитата: |
т.е. я могу поочередно написать
$name = $_GET['name'];
$nick = $_GET['nick'];
и всё будет нормально? |
ДА |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Функция scandir есть только в пхп5
<?php
// Альтернативный вариант функции scandir() для PHP 4
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
/* Результат будет примерно таким:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
*/
?> |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Артур
Новенький
Зарегистрирован: 14.10.2007 Сообщения: 14
|
|
|
|
Как настроить PHP для использования функции mail().Выдает ошибку Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() |
|
Вернуться к началу |
|
|
|
|