Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > записать файлы из папки в массив


Автор: darkida 1.3.2010, 00:27
Есть строчка 
Код

asd=new Array(
        "div1.jpg","",
        "div2.jpg","",
        "div3.jpg","",
        "div4.jpg","",    
        "div5.jpg",""
        );

И чтоб так не перечислять в JS хочу все картинки записать в php массив а потом передать.
Нашел в инете одну часть. А дальше как не представляю. 
Код

<?php
$folder = '.';
$extList = array();
$extList['jpg'] = 'image/jpeg';
$img = null;
if (substr($folder,-1) != '/') {
$folder = $folder.'/';
}
if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if (
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
file_exists( $folder.$imageInfo['basename'] )
) {
$img = $folder.$imageInfo['basename'];
}
} else {
$fileList = array();

Помогите пожалуйста разобраться.

Автор: darkida 1.3.2010, 00:51

Или посмотрите на этот код.  Будет ли он работать и как его подогнать для моего варианта.
Код

<?php
$images = glob('images/*.jpg');
for ($i=0;$i<count($images);$i++)
{
  $ar[] = $images;
}
echo "var ar=new Array(\'",implode("\',\'",$ar),"\');\r\n";
?>

Эту строчку я не понимаю.  Спер его с чужого кода. 
Код

echo "var ar=new Array(\'",implode("\',\'",$ar),"\');\r\n";


Сильно не пинать в php я 0 с хвостиком, да и времени нет книжки по нему читать. 


Автор: нуп 1.3.2010, 01:08
Код

$dir = '.';  // Путь к каталогу с файлами
$folders = array();
$files = array();
        if ($dir = opendir($url)) {
                while (false !== ($file = readdir($dir))) {
                        if ($file != "." && $file != "..") {
                                if(is_dir($url."/".$file)) {
                                        $folders[] = $file;
                                }
                                else {
                                        $files[] = $file;
                                }
                        }
                }
        }
        closedir($dir);

$str = 'var ar = new Array(';

foreach($files as $f){
     $str .= "'".$f."'";
     if(next($files))
            $str .= ', ';
}
$str .= ');';

echo $str;



Автор: Ипатьев 1.3.2010, 08:44
ну, скажем так, цикл for смотрится очень смешно (его над просто убрать), а в остальном нормальный код, на первый взгляд.
гарантировать, будет ли он работать, к сожалению не могу - у меня не встроен в голову интерпретатор пхп, чтобы запускать код при взгляде на него. Вы уж как-нибудь сами попробуйте. Хотя бы запустить этот код  у вас время есть?

нуп, вам не кажется, что ваш код немного безнадежно устарел? smile

Автор: нуп 1.3.2010, 13:28
Цитата(Ипатьев @ 1.3.2010,  08:44)

нуп, вам не кажется, что ваш код немного безнадежно устарел? smile

копипаст!

Автор: IgorIV 1.3.2010, 19:50
http://docs.php.net/manual/ru/function.scandir.php

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)