2009-11-01 2 views
0

Есть ли способ вытащить изображения из каталога и разместить их на веб-странице и привязать ссылки к тем изображениям, которые могли бы занять человека на определенной веб-странице, связанной с этим изображением, с помощью PHP?Динамическое вытягивание изображений и создание ссылок

Благодаря

ответ

0
<?php 
    $directory = "imageDirectory"; // assuming that imageDirectory is in the same folder as the script/page executing the script 
    $contents = scandir($directory); 
    if ($contents) { 
     foreach($contents as $key => $value) { 
      if ($value == "." || $value == "..") { 
       unset($key); 
      } 
     } 
    } 
     echo "<ul>"; 
    foreach($contents as $k => $v) { 
     echo "<li><a href=\"$directory/" . $v . "\">link text</a></li>"; 
    } 
     echo "</ul>"; 

?> 

Это должно работать, хотя foreach() может быть -computationally- дорого. И я уверен, что там должна быть лучше /-экономичным способом удаления Относительных файловых путей . и .. в первом foreach()

0

что-то вроде этого следует сделать это:

if ($handle = opendir('/path/to/files')) { 
    echo "Directory handle: $handle\n"; 
    echo "Files:\n"; 

    /* This is the correct way to loop over the directory. */ 
    while (false !== ($file = readdir($handle))) { 
    if(substr($file, -3) == 'jpg'){ //modify to handle filetypes you want 
        echo "<a href='/path/to/files/".$file."'>".$file."</a>"; 
    } 
    } 

    closedir($handle); 
} 
+0

также http://www.php.net/manual/en/function.readdir.php поможет. большая часть приведенного выше кода находится на этой странице. – Jesse

0

является вы спрашиваете, как сканировать каталог или как связать список изображений с URL-адресами?

ответ на первый вопрос является функцией Glob()

Второго ответа использовать массив ассоциативного

$list = array('foo.gif' => 'bar.php', 'blah.gif' => 'quux.php'); 

и цикл по каждому элементу для вывода изображения и ссылки

foreach($list as $src => $href) echo "<a href='$href'><img src='$src'></a>"; 
0

@ricebowl:

using PHP Version 5.2.9/apache 2.0/windows vista - я получаю Ошибка анализа.

в любом случае, есть рабочий раствор:

$dir = "./imageDirectory"; 
$ext = array('.jpg','.png','.gif'); 

$dh = opendir($dir); 
while (false !== ($filename = readdir($dh))) { 

print '<ul>'; 

if(strpos($filename, '.') > 3) 
{ 
    print '<li><a href="'.$dir.'/'.$filename.'">'.str_replace($ext, '', $filename).'</a></li>'; 

} 

print '</ul>'; 

} 
+0

А? Какая ошибка вы получаете? –

+0

... ах, да. Я не уверен, что я делаю, чтобы это произошло. Хм, простите об этом. =/(отредактировал мой пост, чтобы исправить синтаксис/код) –

+0

change $ directory = "imageDirectory"; to $ directory = "./imageDirectory"; вот и все :) –

Смежные вопросы