Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2006, 22h35   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 4
Points : 4
Par défaut Scanneur + Diapo

Bonsoir, j'aimerais faire un scanneur + diaporama :
code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?
$repertoire = "./";
$repertoire = opendir($repertoire);
 
while ($contenu = readdir($repertoire)) {
        if ($contenu != "." && $contenu != ".." && is_dir($contenu)) {
                echo "<a href=\"http://site.fr/index.php?nomDossier=".$contenu."\"".">".$contenu."</a><br>";
        }
}
 
closedir();
?>
j'ai plusieur probleme quand je clic sur le dossier rien ne s'ouvre et j'aimerais que quand on clique sur le dossier qui s'affiche sa affiche un diporama
si vous voulez un exemple de mon diaporamam demander moi je vosu montre
merci de votre aide
texas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 00h52   #2
Membre du Club
 
Inscription : septembre 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 69
Points : 58
Points : 58
Salut,

Code :
1
2
$repertoire = "./";
$repertoire = opendir($repertoire);
Ta variable $repertoire... Faudrait que tu te mettes d'accord avec toi même sur ce qu'elle doit être... Une chaine de caractères définissant le répertoire à ouvrir (d'après la première ligne) ou bien un pointeur sur un fichier (ou répertoire, c'est pareil) ouvert (d'après la deuxième ligne) ?
Ce serait plus clair d'utiliser deux variable différentes.

Ensuite, le code que tu as donné, c'est le code de la page index.php ?
C'est elle qui doit lister à chaque fois le contenu d'un répertoire ?

Si oui, alors les liens ne sont pas corrects. Essaie plutôt quelque chose comme ça :
Code :
1
2
$cible = $repertoire . $contenu;
echo '<a href="http://site.fr/index.php?nomDossier=' . $cible . '">' .$contenu.'</a><br>';
Par ailleurs, il faut récupérer l'argument nomDossier.

Au final, je mettrais plutôt ça comme code complet :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// On récupère le nom du dossier passé en argument dans l'url
// Par défaut, on lui donne la valeur './'
$repertoire = isset($_GET['nomDossier']) ? $_GET['nomDossier'] : './';
 
// On ouvre le répertoire et on récupère un pointeur
$pointeur = opendir($repertoire);
 
// On parcours le répertoire à la recherche de sous-répertoires, que l'on affiche
// On utilise la façon correcte, comme spécifiée dans la doc php
// Voir à ce sujet : http://fr3.php.net/manual/fr/function.readdir.php
while (false !== ($fichier = readdir($pointeur)))
{
       if ($fichier != "." && $fichier != ".." && is_dir($fichier))
       {
              $cible = $repertoire . $fichier . '/';
              echo '<a href="http://site.fr/index.php?nomDossier=' . $cible . '">' . $fichier . '</a><br />';
       }
}
closedir($pointeur);
?>
PseudoCoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 10h08   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 4
Points : 4
ca marche bien ton scanneur maintenant j'aimerais rajouter mon scanneur
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// On récupère le nom du dossier passé en argument dans l'url
// Par défaut, on lui donne la valeur './'
$repertoire = isset($_GET['nomDossier']) ? $_GET['nomDossier'] : './';
 
// On ouvre le répertoire et on récupère un pointeur
$pointeur = opendir($repertoire);
 
// On parcours le répertoire à la recherche de sous-répertoires, que l'on affiche
// On utilise la façon correcte, comme spécifiée dans la doc php
// Voir à ce sujet : http://fr3.php.net/manual/fr/function.readdir.php
while (false !== ($fichier = readdir($pointeur)))
{
       if ($fichier != "." && $fichier != ".." && is_dir($fichier))
       {
              $cible = $repertoire . $fichier . '/';
              echo '<a href="http://site.fr/index.php?nomDossier=' . $cible . '">' . $fichier . '</a><br />';
       }
}
closedir($pointeur);
?>
code de scanage j'aimerais ajouter sa
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
        <style type="text/css"> 
        body 
            {background-color: #C6E3FF;} 
        h1, p.center 
            {text-align: center; 
            color: blue;} 
        a img 
            {padding: 1px; 
            border: 1px dotted gray;} 
        .liste_image 
            {width: 160px; 
            height: 160px; 
            float: left; 
            text-align: center; 
            font-size: 12px;} 
        </style> 
    </head> 
    <body> 
<?php 
if (isset ($image)) 
{ 
    echo '        <h1>'.$nomimage.'</h1> 
        <p class="center"><img src="photo/'.$_GET['image'].'" alt="'.$nomimage.'" title="'.$nomimage.'" /></p> 
'; 
} 
 
$dir = "photo/"; 
$open = opendir($dir); 
while ($file = readdir($open)) 
{ 
    if (is_file($dir.$file)) 
    { 
        $extension = strtolower(substr(strrchr($file,  "." ), 1)); 
        $extsupport = array("jpg", "jpeg", "gif", "png"); 
 
        if (in_array($extension, $extsupport) and ($file[0] != "#")) 
        { 
            $files[] = $dir.$file; 
        } 
    } 
} 
closedir($open); 
 
foreach($files as $image) 
{ 
    $image = preg_replace('`photo/(.+)`','$1',$image); 
    $nomimage = preg_replace('`(.+)\..*`', '$1', $image); 
 
    echo '            <div class="liste_image"><a href="?image='.$image.'"><img src="photo/'.$image.'" alt="'.$nomimage.'" title="'.$nomimage.'" /></a><br /> 
            '.$nomimage.'</div> 
'; 
} 
?>
si ya un truc plus simple faite le moi savoir merci
texas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h40.


 
 
 
 
Partenaires

Hébergement Web