практика php

5.13K
.
UA95 (13.09.2012/04:44)
5
Между прочим так и есть это ученые выяснили ! Ну да ладно не будем оффтопить все таки раздел серьезный !
.
(\/)____o_O____(\/)
UA95, ну любой процесс, который ты делаешь руками для себя, например поиск вредоносного кода в файлах, рекурсия по файлам с поиском чего либо
.
(\/)____o_O____(\/)
UA95, рекурсия, попробуй
.
UA95 (14.09.2012/08:40)
Это чё?
Это когда функция вызывает сама тебя
.
(\/)____o_O____(\/)
UA95, чтоб просмотреть вложенные в папки файлы
.
Fenix_61
UA95 (14.09.2012/21:11)
Если правильно понял то вот,выводит содержимое папки

<?php
$dir = opendir('papka');
while ($arr = readdir($dir)){
echo $arr . '<br />';
}
closedir($dir);
?>
Нет вот смотри :
$path='dir';
function fenix_scandir($path){
$files=array_diff(scandir($path),array('.','..'));
$f=0;
$d=0;
foreach ($files as $file){
if (is_file($path.'/'.$file)){
$array[$file]=$path;
$f++;
}else{
$path .= '/'.$file
fenix_scandir($path);
$d++;
}}
echo 'Всего найдено: '.$f.'файл(ов) и'. $d . 'пап(ок)(ка)';
}
это рекрурсия! Алгоритм таков:
получаем все содержимое папки "Dir" с помощью функции scandir в массив и отсеиаваем элеметы "." и ".." (ссылки в корень и в предыдущую папку) с помощью функции array_diff, далее с помощью цикла foreach перебираем каждый элемент выше описанного массива и в цикле проверяем являеться ли элемент файлом если да , то помешаем в новый массив имя файла которое является ключом элемента а путь к файлу его значением и добавляем к счетчику файлов ($f) единицу , иначе добавляем переменой пути имя папки и делаем рекрурсию, тобишь вызываем нашу функцию снова, но уже с новым путем и обновляем счетчик папок ($d) на единицу. И выводим общее количество найденных папок и файлов ! Все листинг закончен !
.
набросал сегодня такой небольшой концепт арены для игры.
тут только само поле и передвижение двух игроков. может быть это можно как-нибудь оптимизировать \ сделать проще?
Прикрепленные файлы:
.
забыл сказать, что использовалась php 5.4
Всего: 198