Existe-t-il un moyen de tirer des images d'un répertoire et de les placer sur une page Web et d'y associer des liens vers une page Web spécifique associée à cette image?Extraction dynamique d'images et création de liens
Merci
Existe-t-il un moyen de tirer des images d'un répertoire et de les placer sur une page Web et d'y associer des liens vers une page Web spécifique associée à cette image?Extraction dynamique d'images et création de liens
Merci
<?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>";
?>
Cela devrait fonctionner, bien que foreach()
peut être -computationally- cher. Et je suis sûr qu'il doit y avoir une meilleure/façon plus-économique de supprimer les chemins fichiers relatifs-de .
et ..
dans la première foreach()
quelque chose comme ça devrait le faire:
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);
}
sont vous demander comment analyser le répertoire ou comment associer une liste d'images avec des URL?
la réponse à la première question est fonction glob()
la deuxième solution consiste à utiliser un tableau de assoc
$list = array('foo.gif' => 'bar.php', 'blah.gif' => 'quux.php');
et une boucle foreach pour émettre des images et des liens
foreach($list as $src => $href) echo "<a href='$href'><img src='$src'></a>";
@ricebowl:
en utilisant PHP Version 5.2.9/apache 2.0/windows vista - Je suis gett Erreur d'analyse.
de toute façon, il y a une solution de travail:
$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>';
}
Ah? Quelle est l'erreur que vous obtenez? –
... ah, ouais. Je ne suis pas sûr de ce que je faisais pour que cela arrive. Euh, désolé pour ça. =/(édité mon post pour corriger la syntaxe/code) –
change $ directory = "imageDirectory"; à $ directory = "./imageDirectory"; c'est tout :) –
aussi, http://www.php.net/manual/en/function.readdir.php vous aidera. la majeure partie du code ci-dessus provient de cette page. – Jesse