Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> как прочитать файлы в массиви, как прочитать файлы в массиви
leonw  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 1 год, 11 месяцев, 7 дней
Карма:




Здравствуйте! можно примерчик. если поиск и подкаталогах.
я делал так:
 <?php 
foreach (glob("*.ini") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
$conf = parse_ini_file($filename);
echo $conf['name']."</br>";
}
?>

потом вот так:

<?php
$dir = './'; // Папка с изображениями
imgInDir($dir);

function imgInDir($dir, $extension = 'ini') {
foreach (array_diff(scandir($dir), array('.', '..')) as $name)
if (is_dir($dir . $name))
imgInDir($dir . $name . '/', $extension);
elseif ($extension == substr(strrchr($name, '.'), 1))
// echo $dir."<br>";
//echo $name."<br>";



echo ($name) . "\n";
$conf = parse_ini_file($name);
echo $conf['name'];
}
?>

так же
Цитата

foreach ($a as $filename)
$conf = parse_ini_file(filename);
echo $conf['name']."</br>";


но вылетают ошибки когда поиск идет в подкаталогах. :huh:
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 1 год, 11 месяцев, 7 дней
Карма:




научился: может кому пригодится, хотя пишут что очень медлено

    <?php
foreach(glob('*/*.ini') as $filename)

{

echo "Filename: " . $filename . "<br />";
$conf = parse_ini_file($filename);
echo $conf['data']."</br>";

}
?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 1 год, 11 месяцев, 7 дней
Карма:




а может кто подскажет как сделать маску если дерево каталогов идет глубже.
пр:
city1->name1->file1
city2->name2->file2
city3->name3->file3
как я понял glob найдет ini только в папках name1,2,3.
или здесь только через scandir?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









можете подсказать что я не так делаю?
<?php
$dir = './'; // Папка с изображениями
imgInDir($dir);

function imgInDir($dir, $extension = 'dat') {
foreach (array_diff(scandir($dir), array('.', '..')) as $name)
if (is_dir($dir . $name))
imgInDir($dir . $name . '/', $extension);
elseif ($extension == substr(strrchr($name, '.'), 1))
// echo $dir."<br>";
//echo $name."<br>";



echo ($name) . "\n";

foreach ($name as $filename)
{
$conf = parse_ini_file($filename);
echo $conf['data'];
}

}

    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ИНСИ  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



грех - смерть
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2488
Пользователь №: 18040
На форуме: 7 лет, 5 месяцев, 28 дней
Карма: 77




use RecursiveIteratorIterator;
use RecursiveDirectoryIterator;

function listDirRecursive($path, $matchExt = null, $matchDir = null) {

// Переменная с результатом
$result = [];

// Инициализируем класс для рекурсивного перебора каталогов
$cursor = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD);

// Если найдены каталоги
if ($cursor) {

// Обходим циклом полученные каталоги
foreach ($cursor as $dir => $data) {

// Если необходимо вернуть список только файлов определенного типа
if ($matchExt) {

// Проверяем расширение файла
if (pathinfo($data, PATHINFO_EXTENSION) == $matchExt) {

// Добавляем в результат
$result[] = $dir;
}

// Возвращаем только папки
} else if ($matchDir && $data->isDir()) {

// Добавляем в результат
$result[] = $dir;

// Возвращаем все, что нашли
} else {

// Добавляем в результат
$result[] = $dir;
}
}
}


// Возвращаем результат
return $result;
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 1 год, 11 месяцев, 7 дней
Карма:




можно сделать так:
$file=$dir."/".$name;	
$conf = parse_ini_file($file);
echo $conf['data']."<br>";

но вылазиют ошибки
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса