Dinamik görüntü çekme ve bağlantılar oluşturma

4 Cevap php

Dizinin görüntüleri çekin ve bir web sayfasının üzerine koyun ve bağlantılar PHP kullanarak bu görüntü ile ilgili belirli bir web sayfasına bir kişi alacaktı bu görüntülere bağlı olması için bir yolu var mı?

Teşekkürler

4 Cevap

Böyle bir şey yapmak gerekir:

    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);
}

nasıl dizin taramak veya nasıl URL'ler ile görüntülerin bir listesini ilişkilendirmek için soruyorsun?

İlk soruya cevap glob () fonksiyonu

İkinci sorunun cevabı, bir ilişkisel dizi kullanmak için

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

ve çıkış görüntüleri ve bağlantılar için bir foreach döngü

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

@ Ricebowl:

PHP Sürümü 5.2.9/apache 2.0/windows vista kullanarak - Ben Ayrıştırma hatası alıyorum.

Neyse, çalışma çözümü var:

$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>';

}
<?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>";

?>

Bu işe, ama foreach() be-hesaplama-pahalı olabilir. Gerekir Ve ben . ve .. göreli dosya-yolları kaldırarak daha iyi / daha-ekonomik yolu olmalı eminim ilk foreach() olarak