Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 23.02.2012, 14:57
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

class Parser
{

    public function __construct($patch) {    
        $this->patch = $patch;    
    }
    
    public function getCategories() {
        return array_filter(scandir($val), array($this, 'callback));
    }
    
    private function callback($val) {
        if ($val == $this->patch) {
            return true;
        } else {
            return false;
        }
    }
    
    private $patch;

}
Ответить с цитированием
  #22 (permalink)  
Старый 23.02.2012, 14:57
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

dmitriymar,
Как это поможет?
Ответить с цитированием
  #23 (permalink)  
Старый 23.02.2012, 14:59
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Gvozd,
насколько я понял ему нужна сортировка массива с использованием его данных. это сортировка массива с использованием пользовательской функции
в принципе аналог array_filter только сортировку производит в самом массиве, а array_filter возвращает отсортированный

Последний раз редактировалось dmitriymar, 23.02.2012 в 15:06.
Ответить с цитированием
  #24 (permalink)  
Старый 23.02.2012, 15:17
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

function getCatigories($patch) {
 
    function name($val) {

        global $patch;

        //вот тут я val сравниваю с внешней $patch
        if($val  == $patch){return true;}
        else{return false;}
    }
 
 
    return  array_filter(scandir($patch), 'name');
};
 
//то есть если элемент массива равен 'doors'  то оставить его.
getCatigories('doors');
Ответить с цитированием
  #25 (permalink)  
Старый 23.02.2012, 17:13
Профессор
Посмотреть профиль Найти все сообщения от Mахmaxmaximus
 
Регистрация: 22.02.2012
Сообщений: 163

Я получаю имена папок и файлов в одной директории, мне нужно получить массив только папок.

я получаю массив И папок и файлов, и пробегаясь по нему проверяряю что есть файл а что есть папка, и если это папка то засовываю путь в новый массив.

В итоге в новом массиве остаются только пути папок.


в JS это было бы так


function getFoldersArray(patch) {
	
	var arrFolders = [];

	//scandir возвращает массив и папок и файлов
	scandir(patch).forEach(thisPatch)
	{	
		//is_dir проверяет если папка то возвращает true
		if (is_dir(thisPatch)) {
			arrFolders.push(thisPatch);
		}
	}
	
	return arrFolders;
}

var arrayFoldersInDoorsFolder = getFoldersArray("/doors");

Последний раз редактировалось Mахmaxmaximus, 23.02.2012 в 17:19.
Ответить с цитированием
  #26 (permalink)  
Старый 23.02.2012, 17:17
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

http://ru2.php.net/glob
Ответить с цитированием
  #27 (permalink)  
Старый 23.02.2012, 17:22
Профессор
Посмотреть профиль Найти все сообщения от Mахmaxmaximus
 
Регистрация: 22.02.2012
Сообщений: 163

Сообщение от vasa_c
http://ru2.php.net/glob
да, я использую эту функцию для получения картинок.
glob('./doors/*.{jpg,jpeg,png,bmp,gif}', GLOB_BRACE);


я могу выбирать расширения, но
как я могу шаблоном определить папка это или файл?
$dirs = glob("./doors/*", GLOB_ONLYDIR);

Другой вопрос, как получить только файлы?

Последний раз редактировалось Mахmaxmaximus, 23.02.2012 в 17:28.
Ответить с цитированием
  #28 (permalink)  
Старый 23.02.2012, 17:28
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Можно ещё вот это попробовать:
http://ru2.php.net/manual/en/class.d...ryiterator.php
http://ru2.php.net/manual/en/class.r...ryiterator.php
http://ru2.php.net/manual/en/class.r...eriterator.php
Ответить с цитированием
  #29 (permalink)  
Старый 23.02.2012, 17:29
Профессор
Посмотреть профиль Найти все сообщения от Mахmaxmaximus
 
Регистрация: 22.02.2012
Сообщений: 163

vasa_c,
спасибо огромное! но как получить только файлы?
Ответить с цитированием
  #30 (permalink)  
Старый 23.02.2012, 18:53
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

ну видимо придётся обходить всё и смотреть, файл это или нет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос про PHP Questioner Серверные языки и технологии 1 14.02.2011 22:43
Вопрос по работе функций в PHP bayah Серверные языки и технологии 2 12.02.2011 17:42
ООП PHP вопрос mycoding Серверные языки и технологии 9 03.06.2010 02:57
Небольшой вопрос по jQuery deepslam jQuery 10 30.01.2010 00:19
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23