begin process at 2010 02 09 18:38:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

galerie photo


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

galerie photo

samedi 10 mars 2007 à 13:38:30 | galerie photo

webide

Bonjour,
J'ais un souci avec un script d'upload.
Lorsque je vais dans l'espace membre, chez chaque membre j'ais un lien vers sa galerie photos
Voici le code de la pge d'upload
[code]
// Définition des variable globales, modifiables à volonté  //
// ############################################################ //
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = $_POST["up/"];       //
// Taille maximale de fichier, valeur en bytes     //
$MAX_SIZE = 10000000;           //
// Récupération de l'url de retour        //
$RETURN_LINK = $_SERVER['HTTP_REFERER'];      //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".htm", ".html", ".jpg", ".txt", ".png",  //
 ".bmp", ".gif", ".php", ".php3", ".rar", ".ace", ".zip", ".mp3", ".wav");           //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique

function createReturnLink(){
 global $RETURN_LINK;
 echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}

// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.

function isExtAuthorized($ext){
 global $AUTH_EXT;
 if(in_array($ext, $AUTH_EXT)){
  return true;
 }else{
  return false;
 }
}

// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.

if(!empty($_FILES["file"]["name"])){
 
 // Nom du fichier choisi:
 $nomFichier = $_FILES["file"]["name"] ;
 // Nom temporaire sur le serveur:
 $nomTemporaire = $_FILES["file"]["tmp_name"] ;
 // Type du fichier choisi:
 $typeFichier = $_FILES["file"]["type"] ;
 // Poids en octets du fichier choisit:
 $poidsFichier = $_FILES["file"]["size"] ;
 // Poids en Kilo-octets du fichier choisit:
 $poidsFichierK = $poidsFichier/1024;
 // Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
    $poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
 // Code de l'erreur si jamais il y en a une:
 $codeErreur = $_FILES["file"]["error"] ;
 // Extension du fichier
 $extension = strrchr($nomFichier, ".");
 
 // Si le poids du fichier est de 0 bytes, le fichier est
 // invalide (ou le chemin incorrect) => message d'erreur
 // sinon, le script continue.
 if($poidsFichier <> 0){
  // Si la taille du fichier est supérieure à la taille
  // maximum spécifiée => message d'erreur
  if($poidsFichier < $MAX_SIZE){
   // On teste ensuite si le fichier a une extension autorisée
   if(isExtAuthorized($extension)){
    // Ensuite, on copie le fichier uploadé ou bon nous semble.
    $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
    if($uploadOk){
                         echo "L'upload a réussi !<br><br>";
                                        echo "Nom du Fichier : $nomFichier<br>";
                                        echo "Taille du Fichier : $poidsFichierK Ko<br>";
                         echo "URL du Fichier : [ Lien ] du site/upload/up/$nomFichier<br><br>";
          echo "Aperçu:<br><br>";
          switch ($extension) { //Tu fais écrire du html par le php
                case ".jpeg": echo "<IMG SRC='$nomFichier'>";break;
                                        case ".bmp": echo "<IMG SRC='$nomFichier'>";break;
          case ".gif": echo "<IMG SRC='$nomFichier'>";break;
          case ".png": echo "<IMG SRC='$nomFichier'>";break;
          case ".jpg": echo "<IMG SRC='$nomFichier'>";break;
          case ".rar": echo "<IMG SRC='error/archive.gif'>";break;
          case ".ace": echo "<IMG SRC='error/archive.gif'>";break;
          case ".zip": echo "<IMG SRC='error/archive.gif'>";break;
          case ".php": echo "<IMG SRC='error/web.gif'>";break;
          case ".htm": echo "<IMG SRC='error/web.gif'>";break;
          case ".html": echo "<IMG SRC='error/web.gif'>";break;
          case ".php3": echo "<IMG SRC='error/web.gif'>";break;
          case ".mp3": echo "<IMG SRC='error/son.gif'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
          case ".wav": echo "<IMG SRC='error/son.gif'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
             default: echo "<IMG SRC='error/inconnu.gif'>"; }
          echo "<br><br>";
                                        echo(createReturnLink());
    }else{
     echo("L'upload a échoué !<br><br>");
     echo(createReturnLink());
    }
   }else{
    echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
    echo (createReturnLink()."<br>");
   }
  }else{
   $tailleKo = $MAX_SIZE / 1000;
   echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
   echo (createReturnLink()."<br>");
  }  
 }else{
  echo("Le fichier choisi est invalide !<br>");
  echo (createReturnLink()."<br>");
 }
}else{
 echo("Vous n'avez pas choisi de fichier !<br>");
 echo (createReturnLink()."<br>");
}
?>[/code]
et le code de la galerie
[code]
html><head>
<link rel="stylesheet" type="text/css" href="style-gal.css">
<TITLE><? echo(":: Galerie d'images du service d'upload de VOTRE NOM / PSEUDO ::"); ?></TITLE>
</head><body>
<!-- DEBUT DU SCRIPT -->
<script language="JavaScript1.2">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
[ Lien ]
*/

function ejs_nodroit()
 {
 alert('Désolé, le clic droit a été désactivé sur cette page. ');
 return(false);
 }

document.oncontextmenu = ejs_nodroit;
</script>
<!-- FIN DU SCRIPT -->
<body bgcolor="#000000">

<SCRIPT LANGUAGE="JavaScript">
table_photo = new Array;
table_noms = new Array;
table_type = new Array;

<?
$a = 0;
$handle = opendir("up");
while (($file = readdir())!=false) {
 clearstatcache();
 $extension = strrchr($file, ".");
 if($file!=".." && $file!="." && ($extension==".jpg" || $extension==".jpeg" || $extension==".gif" || $extension==".png" || $extension==".bmp"))
  {

  // RECHERCHE DU FICHIER
  echo "table_photo[$a] = 'up/$file';";
  
  // RECHERCHE DU TYPE DE FICHIER
  $file_type = strrchr($file, ".");
  $file_type = str_replace(".", "", $file_type);
  $file_type = strtoupper($file_type);
  echo "table_type[$a] = '$file_type';";
  
  // RECHERCHE DU NOM :
  $file_name = strtolower($file);
  $file_name = str_replace(".jpg", "", $file_name);
  $file_name = str_replace(".jpeg", "", $file_name);
  $file_name = str_replace(".gif", "", $file_name);
  $file_name = str_replace(".png", "", $file_name);
  echo "table_noms[$a] = '$file_name';";
  $a++;
  }
 }
closedir($handle);
?>
 
function showing_photos(num)
 {
 if(document.getElementById)
  {
  diaporama_fin = "";
  if(num!=0)
   diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=im/suiv.gif></A></td>";
  if(num!=(table_photo.length-1))
   diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=im/prec.gif></A></td>";
  document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=500><tr><td colspan=2 valign=middle width=100% bgcolor=#000000 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><img align=absmiddle border=0 src=im/nom-gal.gif width=16 height=16> Nom de l'image : "+table_noms[num]+"</td><td width=50%><img align=absmiddle border=0 src=im/typ-gal.gif width=16 height=16> Type d'image : "+table_type[num]+"</td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=380><table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor=#FF0000 height=100%><tr><td width=100% bgcolor=#000000 height=380><center><img src='"+table_photo[num]+"' BORDER=0></center></td></tr></table></td></tr><br><br><tr>"+diaporama_fin+"</tr></table></center></div>";
  }
 }

window.onload = new Function("showing_photos(0)")
</SCRIPT>


<DIV align="center" ID="affichage_photos"></DIV>
<a href = "index.php">Retourner au service d'upload ?<a/>


</body>
</html>[/code]
mais là je vois toutes les photos uploadée au lieu de voir les photos de la personne pourtant dans le fichier uploader.php on doit envoyer des photos avec le pseudo+1 ou 2etc.... pour différencier les différentes personnes.
Si quelqu'un saurait comment faire au mieux cela m'aiderais beaucoup.
Merci d'avance

samedi 10 mars 2007 à 20:01:35 | Re : galerie photo

plopinou

Heps :)

pourquoi ne pas rajouter un champ idmembre dans ta base photo, et de passer l'id du membre par url et de le recuperer et ainsi pour l'upload faire une condition where idmembre= ...

non?    
dimanche 11 mars 2007 à 10:36:29 | Re : galerie photo

webide

J'ais eu beau tester rien y fait donc je vais faire selon la première idée c'est à dire en créant un dossier via mkdir. J'ais fait les modifications necessaires pour qu'ils inscrivent leur  pseudo (pour créer le dossier de destination) mais j'ais du faire un impair car l'upload échoue (les droits sont bons)
Sur la page d'upload il doit inscrire son pseudo et envoyer plusieurs fichiers
Voici déjà la page d'index pour l'upload
[code]
<TITLE><? echo(":: Service d'upload de $pseudo ::"); ?></TITLE>
</head>
<body>
<body bgcolor="#A10300">
<link rel="stylesheet" type="text/css" href="style.css">
<h3></h3>
<p align="center"><b><font face="Comic Sans MS">Uploader des fichiers</font></b></p>
<p align="left"><b><font face="Comic Sans MS">Règles :</font></b></p>
<p align="center">Votre fichier ne doit pas dépasser les 100KO et doit commencer par votre pseudo</p>
<p align="center">Les formats autorisés sont : *gif , *jpg , *png , *bmp </p>
<br>
<center>Votre pseudo<input name="pseudo" type="text" id="pseudo">  </center>
<br>
<form name="upload" enctype="multipart/form-data" method="post" action="up/upload.php">
  <p align="center">Photo 1&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
  <p align="center">Photo 2&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
  <p align="center">Photo 3&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
  <p align="center">Photo 4&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
  <p align="center">Photo 5&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
  <p align="center">Photo 6&nbsp;&nbsp;&nbsp;
  <input type="file" name="file">
 
  </p>
  <p align="center"><br>
  <input type="submit" name="bouton_submit" value="Envoyer le fichier">
  </p>
  <a href = "galerie.php">Voir la galerie d'images ?</a>
</form>[/code]
Le ficihier uploader.php gérant l'upload
[code]
mkdir ($pseudo, 0777);

// Récupération du dossier dans lequel le fichier sera uploadé
$DESTINATION_FOLDER = 'up/'.$pseudo.'/';      //
// Taille maximale de fichier, valeur en bytes     //
$MAX_SIZE = 10000000;           //
// Récupération de l'url de retour        //
$RETURN_LINK = $_SERVER['HTTP_REFERER'];      //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".jpg",".png",  //
 ".bmp", ".gif");           //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique

function createReturnLink(){
 global $RETURN_LINK;
 echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}

// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.

function isExtAuthorized($ext){
 global $AUTH_EXT;
 if(in_array($ext, $AUTH_EXT)){
  return true;
 }else{
  return false;
 }
}

// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.

if(!empty($_FILES["file"]["name"])){
 
 // Nom du fichier choisi:
 $nomFichier = $_FILES["file"]["name"] ;
 // Nom temporaire sur le serveur:
 $nomTemporaire = $_FILES["file"]["tmp_name"] ;
 // Type du fichier choisi:
 $typeFichier = $_FILES["file"]["type"] ;
 // Poids en octets du fichier choisit:
 $poidsFichier = $_FILES["file"]["size"] ;
 // Poids en Kilo-octets du fichier choisit:
 $poidsFichierK = $poidsFichier/1024;
 // Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
    $poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
 // Code de l'erreur si jamais il y en a une:
 $codeErreur = $_FILES["file"]["error"] ;
 // Extension du fichier
 $extension = strrchr($nomFichier, ".");
 
 // Si le poids du fichier est de 0 bytes, le fichier est
 // invalide (ou le chemin incorrect) => message d'erreur
 // sinon, le script continue.
 if($poidsFichier <> 0){
  // Si la taille du fichier est supérieure à la taille
  // maximum spécifiée => message d'erreur
  if($poidsFichier < $MAX_SIZE){
   // On teste ensuite si le fichier a une extension autorisée
   if(isExtAuthorized($extension)){
    // Ensuite, on copie le fichier uploadé ou bon nous semble.
    $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
    if($uploadOk){
                         echo "L'upload a réussi !<br><br>";
                                        echo "Nom du Fichier : $nomFichier<br>";
                                        echo "Taille du Fichier : $poidsFichierK Ko<br>";
                         echo "URL du Fichier : [ Lien ]>";
          echo "Aperçu:<br><br>";
          switch ($extension) { //Tu fais écrire du html par le php
                case ".jpeg": echo "<IMG SRC='$nomFichier'>";break;
                                        case ".bmp": echo "<IMG SRC='$nomFichier'>";break;
          case ".gif": echo "<IMG SRC='$nomFichier'>";break;
          case ".png": echo "<IMG SRC='$nomFichier'>";break;
          case ".jpg": echo "<IMG SRC='$nomFichier'>";break;
             default: echo "<IMG SRC='error/inconnu.gif'>"; }
          echo "<br><br>";
                                        echo(createReturnLink());
    }else{
     echo("L'upload a échoué !<br><br>");
     echo(createReturnLink());
    }
   }else{
    echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
    echo (createReturnLink()."<br>");
   }
  }else{
   $tailleKo = $MAX_SIZE / 1000;
   echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
   echo (createReturnLink()."<br>");
  }  
 }else{
  echo("Le fichier choisi est invalide !<br>");
  echo (createReturnLink()."<br>");
 }
}else{
 echo("Vous n'avez pas choisi de fichier !<br>");
 echo (createReturnLink()."<br>");
}
?>[/code]
Et la galerie pour visionner
[code]
<?
$a = 0;
$handle = opendir("up/$pseudo");
while (($file = readdir())!=false) {
 clearstatcache();
 $extension = strrchr($file, ".");
 if($file!=".." && $file!="." && ($extension==".jpg" || $extension==".jpeg" || $extension==".gif" || $extension==".png" || $extension==".bmp"))
  {

  // RECHERCHE DU FICHIER
  echo "table_photo[$a] = 'up/$pseudo/$file';";
  
  // RECHERCHE DU TYPE DE FICHIER
  $file_type = strrchr($file, ".");
  $file_type = str_replace(".", "", $file_type);
  $file_type = strtoupper($file_type);
  echo "table_type[$a] = '$file_type';";
  
  // RECHERCHE DU NOM :
  $file_name = strtolower($file);
  $file_name = str_replace(".jpg", "", $file_name);
  $file_name = str_replace(".jpeg", "", $file_name);
  $file_name = str_replace(".gif", "", $file_name);
  $file_name = str_replace(".png", "", $file_name);
  echo "table_noms[$a] = '$file_name';";
  $a++;
  }
 }
closedir($handle);
?>
 
function showing_photos(num)
 {
 if(document.getElementById)
  {
  diaporama_fin = "";
  if(num!=0)
   diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=im/suiv.gif></A></td>";
  if(num!=(table_photo.length-1))
   diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=im/prec.gif></A></td>";
  document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=500><tr><td colspan=2 valign=middle width=100% bgcolor=#000000 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><img align=absmiddle border=0 src=im/nom-gal.gif width=16 height=16> Nom de l'image : "+table_noms[num]+"</td><td width=50%><img align=absmiddle border=0 src=im/typ-gal.gif width=16 height=16> Type d'image : "+table_type[num]+"</td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=380><table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor=#FF0000 height=100%><tr><td width=100% bgcolor=#000000 height=380><center><img src='"+table_photo[num]+"' BORDER=0></center></td></tr></table></td></tr><br><br><tr>"+diaporama_fin+"</tr></table></center></div>";
  }
 }

window.onload = new Function("showing_photos(0)")
</SCRIPT>
[/code]
Si quelqu'un pouvait m'aiguiller sur les erreurs commises.
Merci d'avance

dimanche 11 mars 2007 à 20:12:08 | Re : galerie photo

webide

Ca y est j'ais bien avancé, j'arrives a créer des dossiers dans le dossier up et a uploader des photos mais le problème vient du fait que les photos au lieu d'aller dans le dossier spécifié vont dans le dossier up c'est à dire au lieu d'aller sur up/monpseudo, elles vont dans up.je suis persuadé que le problème se situe là

[code]
mkdir ("".$_POST[pseudo], 0777);
// Récupération du dossier dans lequel le fichier sera uploadé
$DESTINATION_FOLDER = ""; 
[/code]
Si quelqu'un pouvait éclairer ma lanterne
merci d'avance



Cette discussion est classée dans : fichier, file, case, extension, echo


Répondre à ce message

Sujets en rapport avec ce message

Move_uploaded_file probleme avec le nom du fichier uploader [ par needle ] Salut à tous,j'avais fait un page d'upload de photos qui marchait nickel et j'avais pris la précaution de n'autoriser, pour le nouveau nom de la photo session et upload [ par nordutec ] Bonjour,je voudrai sur une page faire un upload sur mon serveur, et en même temps enregistrer dans mysql le nom du fichier avec l'id de session commen extension fichier [ par kenny18 ] Salut,J'ai une question très con !Dans un formualire, j'ai 2 champs type file :$i=1;echo "";$i++;echo " Aide script upload [ par jipe32 ] Bonjour à tous,Voilà je vous explique mon problème: j'ai un script d'upload de fichier, un site http://www.free-web01.com hébergé cher Hosteur et mon file_exists [ par kelm_by ] salut tous le monde,j'ai un problèmes c'est que je ne sais pas pourquoi Php problème insertion script d'upload d'image dans interface admin [ par veebee ] Bonjour, à tous, J'ai fait le tour des posts "upload" et "transfert d'images" sans trouver une solution à mon problème, sur lequel je planche maintena Problème de transfert de données via la méthode get [ par ngouss94 ] BONJOUR,Alors, j'ai un petit problème:j'ai créé 2 formulaires, que je souhaite faire communiquer ensemble, c'est a dire, qu'à partir d'un menu déroula Extension differente [ par shadow578 ] Bonjour, Voilà j'ai fait un petit "explorateur" très rapide bien sur, mais je bloque à un moment, je voudrais que quand il y est l'extension ".txt" il Tester un fichier : problème d'autorisations [ par pyrrah ] Bonjour, Je me retrouve confronter au problème suivant : Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/va Droits d'écriture fichier hyper file [ par cooljm ] Bonjour! Pouvez vous m'éclairer? J'ai créé un site dynamique en vs12.J'ai installé WBDéploiement 14 (apache)et mon site (média physique) sur une autre


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales