2009-05-13 6 views
10

Est-il possible de tirer un tas d'images .jpg à partir d'un fichier local et de les mettre dans une liste? Désolé, j'étais très vaguejQuery tirez des images à partir du répertoire

Tirer d'un répertoire (renvoyer à l'index) comme.

Je veux les lister dans une étiquette d'image, séquentiellement.

+0

Ouais, bien sûr. Non serioulsy, s'il vous plaît clarifier votre question. Les images doivent-elles être téléchargées? Quelle devrait être la liste? –

+0

local comme dans "obtenir des images de c: \ MyPrivatePictures"? Nan. –

+4

Voulez-vous dire tirer des fichiers de l'ordinateur local du client? J'espère bien que non. Je ne veux pas de javascript pour accéder à mes fichiers. Voulez-vous dire tirer des fichiers à partir d'un répertoire sur le serveur? Cela ne peut pas être fait avec javascript (et jQuery est javascript), car javascript est exécuté sur le client. Ce que vous pouvez éventuellement faire est d'avoir un script côté serveur/page/quelquechose de votre application qui renvoie une liste d'URL d'image: s, et l'appelle avec AJAX, par exemple en utilisant jQuery. –

Répondre

12

Vous pouvez utiliser ce qui suit pour créer dynamiquement une image et l'ajouter à une liste.

$('<img />') 
    .attr('src', 'FOLDER LOCATION HERE') 
    .appendTo('#mylist') 

une recherche rapide m'a conduit à trouver un FileSystemObject (ActiveX =() pour rechercher un dossier pour les fichiers

voici un lien:. http://www.codeproject.com/KB/scripting/search_in_files.aspx

mais si vous faites tout côté serveur traitement (.net, php, peu importe) qui serait le meilleur moyen de comprendre quelles images sont disponibles pour vous afficher sur la page (si vous pouviez clarifier) ​​

1

Voulez-vous dire que vous avez un fichier texte local rempli avec les emplacements des images?

<?php 
$handle = fopen("localfile.txt", 'r'); 

echo '<ul>'; 
while ($line = gets($handle)) { 
    echo '<li><img src="' . $line . '"/></li>'; 
} 
echo '</ul>'; 

fclose($handle); 
?> 
+0

La méthode est appelée "fgets" et non "gets" – sprinter252

0

Réponse courte: Non, vous ne pouvez pas. Réponse longue: Vous allez avoir besoin de créer une liste de ces fichiers avec php avec le code similaire à ce que Charles a posté, puis AJAX dans votre jQuery.

+0

En fait, c'est entièrement possible avec jQuery Ajax indépendamment. Je travaille sur un plugin jQuery qui fait exactement cela, qui est destiné aux galeries, etc. Cependant, je ne peux pas référencer ce projet parce que je travaille encore dessus. – Studocwho

-3

En utilisant du code php pour imprimer toutes les images d'un répertoire:

<?php 
$a=array(); 
if ($handle = opendir('.')) { 
    while (false !== ($file = readdir($handle))) { 
     if(preg_match("/\.png$/", $file)) 
      $a[]=$file; 
    else if(preg_match("/\.jpg$/", $file)) 
      $a[]=$file; 
    else if(preg_match("/\.jpeg$/", $file)) 
      $a[]=$file; 

    } 
    closedir($handle); 
} 

foreach($a as $i){ 
    echo "<img src='".$i."' />"; 
} 
?> 
+0

La question dit jquery. Cela pourrait être une bonne réponse, mais ce n'est pas voulu ici. –