Accueil > Forum > > > > galerie photo
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 <input type="file" name="file"> <p align="center">Photo 2 <input type="file" name="file"> <p align="center">Photo 3 <input type="file" name="file"> <p align="center">Photo 4 <input type="file" name="file"> <p align="center">Photo 5 <input type="file" name="file"> <p align="center">Photo 6 <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
Upload [ par inwebo ]
Bonjour, Voilà mon problème. Je viens de coder une class PHP5 d'upload (je sais je suis à la pointe de l'innovation moi), et j'ai un comportement étr
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
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|