par
webide » 24 avr. 2007, 21:09
J'ais déjà bien avancé avec la liste déroulante car maintenant elle fonctionnes et me rediriges vers le dossier souhaité.
Voici d'ailleurs le code
Code : Tout sélectionner
<html>
<head>
<script>
function Lien() {
i = document.Choix.Liste.selectedIndex;
if (i == 0) return;
url = document.Choix.Liste.options[i].value;
parent.location.href = url;
}
</script>
<title></title>
</head>
<body>
<FORM NAME="Choix">
<SELECT NAME="Liste" onChange="Lien()">
<?php
if ($handle = opendir('upload/up/')) {
echo "Files:\n";
while (false !== ($file = readdir($handle))) {
echo'<option value="'.$file.'">'.$file.'</option>';
}
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
</select>
</FORM>
et pour le visionnage (car pour le moment il m'ouvres le dossier mais sans fichier pour afficher les photos ça bloques) j'ais pensé utiliser un fichier interactif pour les visionner
Code : Tout sélectionner
<html>
<head>
</head>
<body background="images/fd.gif">
<?php include("images.class.php"); ?>
<?php
$images = new images();
$images->repertoire = '$pseudo';
$images->nb_par_ligne = 3;
$images->afficher_liste();
?>
</body>
</html>
et en dernier voici le fichier images.class.php gérant l'affichage
Code : Tout sélectionner
<?php
class images {
var $repertoire;
var $nb_par_ligne;
function ajouter_image($image,$nom) {
if (is_dir($this->repertoire)) {
if (copy($image, $this->repertoire . "/" . $nom)) return true;
else return false;
} else return false;
}
function lister_repertoire() {
$liste = array();
if (is_dir($this->repertoire)) {
if ($pointeur = opendir($this->repertoire)) {
while (($fichier = readdir($pointeur)) !== false) {
if (!is_dir($this->repertoirte . "/" . $fichier)) {
$liste[] = $fichier;
}
}
closedir($pointeur);
return $liste;
} else return false;
} else return false;
}
function liste_select() {
$liste = $this->lister_repertoire();
for ($i = 0; $i < count($liste); $i++) {
echo " <option value=\"$this->repertoire/$liste[$i]\">$liste[$i]</option>\n";
}
}
function afficher_liste() {
$liste = $this->lister_repertoire();
echo "<table summary=\"table d'images\">\n";
for ($i = 0; $i < count($liste); $i++) {
$nom = explode(".", $liste[$i]);
$nom = str_replace("_", " ", $nom[0]);
$nom = str_replace("-", " ", $nom);
$nom = strtoupper(substr($nom, 0, 1)) . substr($nom, 1);
if (round($i/$this->nb_par_ligne) == ($i/$this->nb_par_ligne)) echo " <tr>\n";
echo " <td align=\"center\">" . $this->afficher_image($liste[$i]) . "<br></td>\n";
if (round(($i+1)/$this->nb_par_ligne) == (($i+1)/$this->nb_par_ligne) || ($i+2) > count($liste)) echo " </tr>\n";
}
echo "</table>\n";
}
function afficher_image($fichier) {
return "<img width=\"250px\" src=\"" . $this->repertoire . "/" . $fichier . "\" alt=\"" . $fichier . " - " . round((filesize($this->repertoire. "/" . $fichier)/1024), 2) . " ko\">";
}
}
?>
Le problème vient surtout de là
comment envoyer la personne et que la galerie s'ouvres avec les photos choisies
J'ais déjà bien avancé avec la liste déroulante car maintenant elle fonctionnes et me rediriges vers le dossier souhaité.
Voici d'ailleurs le code
[code]<html>
<head>
<script>
function Lien() {
i = document.Choix.Liste.selectedIndex;
if (i == 0) return;
url = document.Choix.Liste.options[i].value;
parent.location.href = url;
}
</script>
<title></title>
</head>
<body>
<FORM NAME="Choix">
<SELECT NAME="Liste" onChange="Lien()">
<?php
if ($handle = opendir('upload/up/')) {
echo "Files:\n";
while (false !== ($file = readdir($handle))) {
echo'<option value="'.$file.'">'.$file.'</option>';
}
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>
</select>
</FORM>[/code]
et pour le visionnage (car pour le moment il m'ouvres le dossier mais sans fichier pour afficher les photos ça bloques) j'ais pensé utiliser un fichier interactif pour les visionner
[code]<html>
<head>
</head>
<body background="images/fd.gif">
<?php include("images.class.php"); ?>
<?php
$images = new images();
$images->repertoire = '$pseudo';
$images->nb_par_ligne = 3;
$images->afficher_liste();
?>
</body>
</html>
[/code]
et en dernier voici le fichier images.class.php gérant l'affichage
[code]<?php
class images {
var $repertoire;
var $nb_par_ligne;
function ajouter_image($image,$nom) {
if (is_dir($this->repertoire)) {
if (copy($image, $this->repertoire . "/" . $nom)) return true;
else return false;
} else return false;
}
function lister_repertoire() {
$liste = array();
if (is_dir($this->repertoire)) {
if ($pointeur = opendir($this->repertoire)) {
while (($fichier = readdir($pointeur)) !== false) {
if (!is_dir($this->repertoirte . "/" . $fichier)) {
$liste[] = $fichier;
}
}
closedir($pointeur);
return $liste;
} else return false;
} else return false;
}
function liste_select() {
$liste = $this->lister_repertoire();
for ($i = 0; $i < count($liste); $i++) {
echo " <option value=\"$this->repertoire/$liste[$i]\">$liste[$i]</option>\n";
}
}
function afficher_liste() {
$liste = $this->lister_repertoire();
echo "<table summary=\"table d'images\">\n";
for ($i = 0; $i < count($liste); $i++) {
$nom = explode(".", $liste[$i]);
$nom = str_replace("_", " ", $nom[0]);
$nom = str_replace("-", " ", $nom);
$nom = strtoupper(substr($nom, 0, 1)) . substr($nom, 1);
if (round($i/$this->nb_par_ligne) == ($i/$this->nb_par_ligne)) echo " <tr>\n";
echo " <td align=\"center\">" . $this->afficher_image($liste[$i]) . "<br></td>\n";
if (round(($i+1)/$this->nb_par_ligne) == (($i+1)/$this->nb_par_ligne) || ($i+2) > count($liste)) echo " </tr>\n";
}
echo "</table>\n";
}
function afficher_image($fichier) {
return "<img width=\"250px\" src=\"" . $this->repertoire . "/" . $fichier . "\" alt=\"" . $fichier . " - " . round((filesize($this->repertoire. "/" . $fichier)/1024), 2) . " ko\">";
}
}
?>
[/code]
Le problème vient surtout de là
[code]echo'<option value="'.$file.'">'.$file.'</option>';[/code]
comment envoyer la personne et que la galerie s'ouvres avec les photos choisies