Super Script de galerie photo ...mais fonctionne pas partout
31 messages • Page 2 sur 3 • 1, 2, 3
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Sinon une autre solution encore plus simple est de simplement ajouter ces 2 lignes: au début de ton code et de ne rien modifier d'autre:
foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);
trouvé ici:
http://www.asp-php.net/ressources/bouts ... aspx?id=37
foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);
trouvé ici:
http://www.asp-php.net/ressources/bouts ... aspx?id=37
C'est vrai que ces deux dernières lignes de code simplifient le travail mais il faut plutot remplacer les variables directement dans le code au risque de créer des trous de sécurité. Vu que ce script fait de l'upload de photos (si j'ai bien compris), il suffirait à un visiteur doué d'intentions scrupuleuses de modifier certaines variables pour pouvoir exécuter son code sur le site...
Je n'ai pas lu le code en entier mais je pense que le risque est bien présent...
Je n'ai pas lu le code en entier mais je pense que le risque est bien présent...
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
Et bien, je suis super content pour vos réponses à tous. Vous etes vraiment super !
ps: controle H ? (je connais Controle C + V pour copier coller ...mais controle H ? ... bon je vais chercher sur le web ce que c'est si vous etes pas revenus d'ici que je commence).
ps: controle H ? (je connais Controle C + V pour copier coller ...mais controle H ? ... bon je vais chercher sur le web ce que c'est si vous etes pas revenus d'ici que je commence).
J'ai une question toute bête sur l'utilité du script. Est-ce que les miniatures sont de qualité?
Chaque fois que j'ai vu des sites qui retaillent automatiquement les images, le résultat est franchement degueu.
Retailler soit même en photoshop ou autre donne de bien meilleurs résultats. Bref, je chargerai l'image ET sa miniature plutot que de créer cette derniere automatiquement.
Chaque fois que j'ai vu des sites qui retaillent automatiquement les images, le résultat est franchement degueu.
Retailler soit même en photoshop ou autre donne de bien meilleurs résultats. Bref, je chargerai l'image ET sa miniature plutot que de créer cette derniere automatiquement.
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
Vap a écrit:J'ai une question toute bête sur l'utilité du script. Est-ce que les miniatures sont de qualité?
Chaque fois que j'ai vu des sites qui retaillent automatiquement les images, le résultat est franchement degueu.
Retailler soit même en photoshop ou autre donne de bien meilleurs résultats. Bref, je chargerai l'image ET sa miniature plutot que de créer cette derniere automatiquement.
Le mieux, c'est de voir le résultat http://felinderace.free.fr/sp/photo-maine-coon/ (puisque ça fonctionne encore sous free) ...le formulaire de téléchargement des photos n'est pas celui par defaut. ça met de l'interactivité dans un site statique en tout cas. Enfin, moi j'aime bien (sinon, oui : quand, c'est mes photos ...je fait ça manuellement).
...Bon je m'y met cette fois !
felinderace a écrit:(sinon, oui : quand, c'est mes photos ...je fait ça manuellement).Vap a écrit:J'ai une question toute bête sur l'utilité du script. Est-ce que les miniatures sont de qualité?
Chaque fois que j'ai vu des sites qui retaillent automatiquement les images, le résultat est franchement degueu.
Retailler soit même en photoshop ou autre donne de bien meilleurs résultats. Bref, je chargerai l'image ET sa miniature plutot que de créer cette derniere automatiquement.
Donc tu es d'accord avec moi...
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
phloam a écrit:Voila tout ce que tu as à faire :Tu ouvres ton bloc note et tu fais un ctrl+H puis tu remplaces tout ce qu'il y a en rouge par tout ce qu'il y a en vert dans tout le fichier:
$mdp devient $_POST['mdp']
$NomFichier devient $_POST['NomFichier']
$act devient $_POST['act']
$mot devient $_GET['mot']
Mais c'est génial ton Truc ! ... ça va me simplifier la vie : j'adore ! merci
...je teste et je reviens.
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
Bon,
alors les $motdepasse sont devenus $_POST['mot']depasse ....j'ai tout remis en $motdepasse
ma galerie affiche pour l'instant :
" Parse error: syntax error, unexpected '[', expecting ',' or ';' in /var/www/virtual/.............../test2/correction.php on line 72
ligne 72 : global $_POST['mdp'],$motdepasse;
je comprend même pas le message d'erreur, mais je vais voir ce qui est possible de faire...
Ré-edition : partout ou il y avait des messages d'erreur j'ai rechangé
global $_POST['mdp'],$motdepasse; en global $mdp,$motdepasse;
....Le message d'erreur disparaissait ...alors j'ai tout fait comme ça. Surement une mauvaise idée car les miniatures de s'affichent pas, sinon on peut maintenant télécharger des photos.
Le code corrigé donne maintenant ça :
<?php
////////////-------------- debut configuration -----------------//////////
//mettre le mot de passe ici
$motdepasse="1234";
//donner le chemin depuis la racine du serveur vers la galerie, n'oubliez pas le / à la fin !
//ex: c:/programme files/easyphp/www/galerie/ (windows)
//ex2: /home/user/galerie/ (linux)
//Si vous ne savez pas, laissez vide
$chemin="";
//nombre d'images par ligne
$nb_colone=6;
//largeur max de la miniature
$max_largeur=60;
//hauteur max de la miniature
$max_longeur=60;
//version de la librairie GD, si vous ne savez pas, mettez 1.
$gd=2;
//activer les fonctions admin (renommer, suppression) 1:active 0: inactive
//il est conseillé de désactiver si vous donner le mot de passe à une autre personne
$admin=0;
////////////-------------- fin configuration ----------------//////////
if(!isset($_POST['act'])) $_POST['act']="";
switch($_POST['act'])
{
case "upload":
if($_POST['mdp']!=$motdepasse) die ("mauvais mot de passe");
verif_fichier($_POST['NomFichier']);
upload();
break;
case "thumb":
thumb($img);
break;
case "supprimer":
if($admin==1)
supprimer($img);
else
echo "la suppression a été désactivé";
break;
case "renommer":
if($admin==1)
renommer($img,$nom);
else
echo "cette fonction est désactivé";
break;
default :
tete();
afficher_formulaire_upload();
upload_liste_fichier();
pied();
break;
}
function tete()
{
echo"
<html>
<head>
<title> Upload Galerie </title>
</head>
<body>";
}
function pied()
{
echo "
</body>
</html>";
}
///-------------------- liste des fonctions ----------------------////
function renommer($img,$nom)
{
global $mdp,$motdepasse;
if($_POST['mdp']==$motdepasse && $nom!="" && isset($nom))
{
if(@rename($img,$nom))
{
echo "l'image <b>$img</b> a été renommé avec succès en : <b>$nom</b>";
}
else
{
echo "changement de nom echoué";
}
echo "<br /><a href=\".\">retour à la galerie</a>";
}
else
{
echo"
<div style=\"background:#C0C0C0;width:30%;\">
<b>renommer une image</b><br /><br />
<form>
<b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
<b> nouveau nom :</b> <input type=\"text\" name=\"nom\" value=\"$img\"><br />
<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
<input type=\"hidden\" name=\"act\" value=\"renommer\">
<input type=\"submit\" value=\"envoyer\"><br />
</form>
</div>";
}
}
function supprimer($img)
{
global $mdp,$motdepasse;
if($_POST['mdp']==$motdepasse)
{
if(@unlink($img))
{
echo "l'image <b>$img</b> a été supprimé avec succès";
}
else
{
echo "suppresion echoué";
}
echo "<br /><a href=\".\">retour à la galerie</a>";
}
else
{
echo"
<div style=\"background:#C0C0C0;width:30%;\">
<b>supprimer une image</b><br /><br />
<form>
<b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
<input type=\"hidden\" name=\"act\" value=\"supprimer\">
<input type=\"submit\" value=\"envoyer\"><br />
</form>
</div> ";
}
}
function alert($message)
{
echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
}
function verif_fichier($NomFichier)
{
if (!preg_match ("/^(.*)\.(txt|rar|zip|exe|jpg|png|gif|jpeg)$/i", $_FILES["NomFichier"]["name"] ))
{
exit (alert("fichier non autorisé, on a le droit seulement aux extension jpg,jpeg,png,gif"));
}
}
function tab_image()
{
//dossiers qui contient les fichiers
$d=opendir(".");
//scan du dossier
while($f=readdir($d))
{
if (preg_match ("/^(.*)\.(txt|rar|zip|exe|jpg|png|gif|jpeg)$/i", $f))
{
$is_image=true;
}
else
{
$is_image=false;
}
if ($f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess" && $is_image)
$dir[]=$f;
}
closedir();
@sort($dir);
return $dir;
}
function tab_recherche($mot)
{
$dir=tab_image();
$num=count($dir);
$i=0;
while($i<$num)
{
if (preg_match ("/^(.*)$mot(.*)$/i", $dir[$i]))
{
$tab_recherche[]=$dir[$i];
//echo $dir[$i];
}
$i++;
}
return $tab_recherche;
}
function upload_liste_fichier()
{
global $admin,$path,$HTTP_HOST,$REQUEST_URI,$nb_colone,$mot;
if(isset($_GET['mot']) && $_GET['mot']!="")
{
$dir=tab_recherche($_GET['mot']);
echo "<p align=\"center\"><a href=\".\" ><b>retour à la liste</b></a></p>";
$num=count($dir);
if($num==1 || $num==0 )
{
echo"<p> $num photo a été trouvé pour le mot <b> $mot </b></p>";
}
else
{
echo"<p> $num photos ont été trouvé pour le mot <b>$mot</b></p>";
}
}
else
{
$dir=tab_image();
//on compte le nombre de fichier trouvé dans le dossier
$num=count($dir);
if($num==1 || $num==0 )
{
echo"<p>il y un $num object " ;
}
else
{
echo"<p>il y un $num object " ;
}
}
$i=0;
echo "\n<table border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"#E4E4E4\">";
$width=100/$nb_colone;
$nb_ligne=0;
while($i<$num || $i%$nb_colone!=0)
{
if($nb_ligne%2==0)
{
$couleur="#F0F0F0";
}
else
{
$couleur="#E4E4E4";
}
if($i<$num)
{
$dir[$i]=rawurlencode($dir[$i]);
if (preg_match ("/^(.*)\.gif$/i", $dir[$i]))
{
echo "\n<td width=\"$width%\" ><a href=\"".$dir[$i]."\" target=\"_blank\">(pas de miniature) <br />".$dir[$i]."</a>";
if($admin==1)
{
echo"<br /> <a href=\"?act=supprimer&img=$dir[$i]\">supprimer</a>";
echo"<br /> <a href=\"?act=renommer&img=$dir[$i]\">renommer</a>";
}
echo"</td>";
}
else
{
echo "\n<td width=\"$width%\" ><a href=\"".$dir[$i]."\" target=\"blank\"><img src=\"?act=thumb&img=".$dir[$i]."\" border=\"2\"></a><br />".rawurldecode($dir[$i]);
if($admin==1)
{
echo"<br /> <a href=\"?act=supprimer&img=$dir[$i]\">supprimer</a>";
echo"<br /> <a href=\"?act=renommer&img=".$dir[$i]."\">renommer</a>";
}
echo"</td>";
}
}
else
{
echo "\n<td width=\"$width%\"> ...</td>";
}
$i++;
if($i%$nb_colone==0 &&$i!=0)
{
if($i<$num)
echo "\n</tr>\n<tr bgcolor=\"$couleur\">";
else
echo "\n</tr>";
$nb_ligne++;
}
}
echo"</table>";
}
function afficher_formulaire_upload()
{
echo'<div style="background:#C0C0C0;width:30%;">
<h4>Formulaire pour uploader une photo</h3>
<form ENCTYPE="multipart/form-data" method="post" name="upload">
<input type="hidden" name="MAX_FILE_SIZE" value="999999" />
<input name="mdp" type="password"> password<br />
<input name="NomFichier" type="file"><br />
<input type="hidden" name="act" value="upload">
<input type="SUBMIT" VALUE="Upload">
<input type="reset" name="Cancel " value="Cancel ">
</form> </div>';
echo'<table align="center"><tr><td><form >
<input name="mot" type="text"><input type="SUBMIT" VALUE="recherche">
</form></td></tr></table> ';
}
function upload()
{
global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin;
if (file_exists($_FILES['NomFichier']['name']))
{
echo"<h3>un fichier comporte deja ce nom</h3>";
}
else
{
if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin.$_FILES["NomFichier"]["name"] ))
{
echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succées</h3>';
echo '<input type="text" size="72" value="[img]http://'.$HTTP_HOST.$REQUEST_URI.$_FILES['NomFichier']['name'].'[/img]"><br /><br />';
echo '<img src="http://'.$HTTP_HOST.$REQUEST_URI.$_FILES['NomFichier']['name'].'">';
echo '<br /> <a href=".">retourner à la galerie</a>';
}
else
{
echo "<h3>upload echoué</h3><br />";
}
}
}
function thumb($img)
{
global $gd,$max_largeur,$max_longeur;
//on demande les dimension de l'image $img:
$size = getimagesize($img);
//largeur
$largeur=$size[0];
//longeur
$longeur=$size[1];
//on regarde si c'est png jpg gif
$type=$size[2];
//on regarde si l'image depasse en longueur
$depasse_long=$longeur-$max_longeur;
//on regarde si l'image depasse en largeur
$depasse_large=$largeur-$max_largeur;
//on charge l'image $img dans $img_big:
switch($type)
{
case 2: $img_big = imagecreatefromjpeg($img); break;
case 3: $img_big = imagecreatefrompng($img); break;
case 1: $img_big = imagecreatefromgif($img);break;
}
if($depasse_long>0 || $depasse_large>0)
{
if($depasse_long>$depasse_large)
{
$largeur=($max_longeur/$longeur)*$largeur;
//echo "$largeur=$max_longeur/$longeur)*$largeur";
$longeur=$max_longeur;
//150/243*300
}
else
{
$longeur=($max_largeur/$largeur)*$longeur;
$largeur=$max_largeur;
}
//on fait une nouvelle image ayant pour dimension: largeur et hauteur
if($gd=="1")
{
$img_mini = imagecreate($largeur, $longeur);
}
else
{
$img_mini = imagecreatetruecolor($largeur, $longeur);
}
//on copie l'image d'origine contenu dans img_big dans img_mini en la reduisant a $img_x pour la largeur et $img_y pour la hauteur:
imagecopyresized($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
switch($type)
{
case 2:
//on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/jpeg");
//on envoie l'image reduire au navigateur:
imagejpeg($img_mini);
break;
case 3://on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/png");
//on envoie l'image reduire au navigateur:
imagepng($img_mini);
break;
case 1: //on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/gif");
//on envoie l'image reduire au navigateur:
imagegif($img_mini);
break;
default: false ;
}
}
else
{
switch($type)
{
case 2:header("Content-type: image/jpg"); $img_big = imagejpeg($img_big); break;
case 3:header("Content-type: image/png"); $img_big = imagepng($img_big); break;
case 1:header("Content-type: image/gif"); $img_big = imagegif($img_big);break;
default: false ;
}
}
}
?>
Voilà ou j'en suis, aurais-je mal fait les changements ? (en tout cas, il y a du progret)
alors les $motdepasse sont devenus $_POST['mot']depasse ....j'ai tout remis en $motdepasse
ma galerie affiche pour l'instant :
" Parse error: syntax error, unexpected '[', expecting ',' or ';' in /var/www/virtual/.............../test2/correction.php on line 72
ligne 72 : global $_POST['mdp'],$motdepasse;
je comprend même pas le message d'erreur, mais je vais voir ce qui est possible de faire...
Ré-edition : partout ou il y avait des messages d'erreur j'ai rechangé
global $_POST['mdp'],$motdepasse; en global $mdp,$motdepasse;
....Le message d'erreur disparaissait ...alors j'ai tout fait comme ça. Surement une mauvaise idée car les miniatures de s'affichent pas, sinon on peut maintenant télécharger des photos.
Le code corrigé donne maintenant ça :
<?php
////////////-------------- debut configuration -----------------//////////
//mettre le mot de passe ici
$motdepasse="1234";
//donner le chemin depuis la racine du serveur vers la galerie, n'oubliez pas le / à la fin !
//ex: c:/programme files/easyphp/www/galerie/ (windows)
//ex2: /home/user/galerie/ (linux)
//Si vous ne savez pas, laissez vide
$chemin="";
//nombre d'images par ligne
$nb_colone=6;
//largeur max de la miniature
$max_largeur=60;
//hauteur max de la miniature
$max_longeur=60;
//version de la librairie GD, si vous ne savez pas, mettez 1.
$gd=2;
//activer les fonctions admin (renommer, suppression) 1:active 0: inactive
//il est conseillé de désactiver si vous donner le mot de passe à une autre personne
$admin=0;
////////////-------------- fin configuration ----------------//////////
if(!isset($_POST['act'])) $_POST['act']="";
switch($_POST['act'])
{
case "upload":
if($_POST['mdp']!=$motdepasse) die ("mauvais mot de passe");
verif_fichier($_POST['NomFichier']);
upload();
break;
case "thumb":
thumb($img);
break;
case "supprimer":
if($admin==1)
supprimer($img);
else
echo "la suppression a été désactivé";
break;
case "renommer":
if($admin==1)
renommer($img,$nom);
else
echo "cette fonction est désactivé";
break;
default :
tete();
afficher_formulaire_upload();
upload_liste_fichier();
pied();
break;
}
function tete()
{
echo"
<html>
<head>
<title> Upload Galerie </title>
</head>
<body>";
}
function pied()
{
echo "
</body>
</html>";
}
///-------------------- liste des fonctions ----------------------////
function renommer($img,$nom)
{
global $mdp,$motdepasse;
if($_POST['mdp']==$motdepasse && $nom!="" && isset($nom))
{
if(@rename($img,$nom))
{
echo "l'image <b>$img</b> a été renommé avec succès en : <b>$nom</b>";
}
else
{
echo "changement de nom echoué";
}
echo "<br /><a href=\".\">retour à la galerie</a>";
}
else
{
echo"
<div style=\"background:#C0C0C0;width:30%;\">
<b>renommer une image</b><br /><br />
<form>
<b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
<b> nouveau nom :</b> <input type=\"text\" name=\"nom\" value=\"$img\"><br />
<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
<input type=\"hidden\" name=\"act\" value=\"renommer\">
<input type=\"submit\" value=\"envoyer\"><br />
</form>
</div>";
}
}
function supprimer($img)
{
global $mdp,$motdepasse;
if($_POST['mdp']==$motdepasse)
{
if(@unlink($img))
{
echo "l'image <b>$img</b> a été supprimé avec succès";
}
else
{
echo "suppresion echoué";
}
echo "<br /><a href=\".\">retour à la galerie</a>";
}
else
{
echo"
<div style=\"background:#C0C0C0;width:30%;\">
<b>supprimer une image</b><br /><br />
<form>
<b>image:</b> <input type=\"text\" name=\"img\" value=\"$img\"><br />
<b>mot de passe:</b> <input type=\"password\" name=\"mdp\"><br />
<input type=\"hidden\" name=\"act\" value=\"supprimer\">
<input type=\"submit\" value=\"envoyer\"><br />
</form>
</div> ";
}
}
function alert($message)
{
echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
}
function verif_fichier($NomFichier)
{
if (!preg_match ("/^(.*)\.(txt|rar|zip|exe|jpg|png|gif|jpeg)$/i", $_FILES["NomFichier"]["name"] ))
{
exit (alert("fichier non autorisé, on a le droit seulement aux extension jpg,jpeg,png,gif"));
}
}
function tab_image()
{
//dossiers qui contient les fichiers
$d=opendir(".");
//scan du dossier
while($f=readdir($d))
{
if (preg_match ("/^(.*)\.(txt|rar|zip|exe|jpg|png|gif|jpeg)$/i", $f))
{
$is_image=true;
}
else
{
$is_image=false;
}
if ($f != "." && $f != ".." && $f!="index.php" && $f!=".htaccess" && $is_image)
$dir[]=$f;
}
closedir();
@sort($dir);
return $dir;
}
function tab_recherche($mot)
{
$dir=tab_image();
$num=count($dir);
$i=0;
while($i<$num)
{
if (preg_match ("/^(.*)$mot(.*)$/i", $dir[$i]))
{
$tab_recherche[]=$dir[$i];
//echo $dir[$i];
}
$i++;
}
return $tab_recherche;
}
function upload_liste_fichier()
{
global $admin,$path,$HTTP_HOST,$REQUEST_URI,$nb_colone,$mot;
if(isset($_GET['mot']) && $_GET['mot']!="")
{
$dir=tab_recherche($_GET['mot']);
echo "<p align=\"center\"><a href=\".\" ><b>retour à la liste</b></a></p>";
$num=count($dir);
if($num==1 || $num==0 )
{
echo"<p> $num photo a été trouvé pour le mot <b> $mot </b></p>";
}
else
{
echo"<p> $num photos ont été trouvé pour le mot <b>$mot</b></p>";
}
}
else
{
$dir=tab_image();
//on compte le nombre de fichier trouvé dans le dossier
$num=count($dir);
if($num==1 || $num==0 )
{
echo"<p>il y un $num object " ;
}
else
{
echo"<p>il y un $num object " ;
}
}
$i=0;
echo "\n<table border=\"0\" width=\"90%\" align=\"center\"><tr bgcolor=\"#E4E4E4\">";
$width=100/$nb_colone;
$nb_ligne=0;
while($i<$num || $i%$nb_colone!=0)
{
if($nb_ligne%2==0)
{
$couleur="#F0F0F0";
}
else
{
$couleur="#E4E4E4";
}
if($i<$num)
{
$dir[$i]=rawurlencode($dir[$i]);
if (preg_match ("/^(.*)\.gif$/i", $dir[$i]))
{
echo "\n<td width=\"$width%\" ><a href=\"".$dir[$i]."\" target=\"_blank\">(pas de miniature) <br />".$dir[$i]."</a>";
if($admin==1)
{
echo"<br /> <a href=\"?act=supprimer&img=$dir[$i]\">supprimer</a>";
echo"<br /> <a href=\"?act=renommer&img=$dir[$i]\">renommer</a>";
}
echo"</td>";
}
else
{
echo "\n<td width=\"$width%\" ><a href=\"".$dir[$i]."\" target=\"blank\"><img src=\"?act=thumb&img=".$dir[$i]."\" border=\"2\"></a><br />".rawurldecode($dir[$i]);
if($admin==1)
{
echo"<br /> <a href=\"?act=supprimer&img=$dir[$i]\">supprimer</a>";
echo"<br /> <a href=\"?act=renommer&img=".$dir[$i]."\">renommer</a>";
}
echo"</td>";
}
}
else
{
echo "\n<td width=\"$width%\"> ...</td>";
}
$i++;
if($i%$nb_colone==0 &&$i!=0)
{
if($i<$num)
echo "\n</tr>\n<tr bgcolor=\"$couleur\">";
else
echo "\n</tr>";
$nb_ligne++;
}
}
echo"</table>";
}
function afficher_formulaire_upload()
{
echo'<div style="background:#C0C0C0;width:30%;">
<h4>Formulaire pour uploader une photo</h3>
<form ENCTYPE="multipart/form-data" method="post" name="upload">
<input type="hidden" name="MAX_FILE_SIZE" value="999999" />
<input name="mdp" type="password"> password<br />
<input name="NomFichier" type="file"><br />
<input type="hidden" name="act" value="upload">
<input type="SUBMIT" VALUE="Upload">
<input type="reset" name="Cancel " value="Cancel ">
</form> </div>';
echo'<table align="center"><tr><td><form >
<input name="mot" type="text"><input type="SUBMIT" VALUE="recherche">
</form></td></tr></table> ';
}
function upload()
{
global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin;
if (file_exists($_FILES['NomFichier']['name']))
{
echo"<h3>un fichier comporte deja ce nom</h3>";
}
else
{
if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin.$_FILES["NomFichier"]["name"] ))
{
echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succées</h3>';
echo '<input type="text" size="72" value="[img]http://'.$HTTP_HOST.$REQUEST_URI.$_FILES['NomFichier']['name'].'[/img]"><br /><br />';
echo '<img src="http://'.$HTTP_HOST.$REQUEST_URI.$_FILES['NomFichier']['name'].'">';
echo '<br /> <a href=".">retourner à la galerie</a>';
}
else
{
echo "<h3>upload echoué</h3><br />";
}
}
}
function thumb($img)
{
global $gd,$max_largeur,$max_longeur;
//on demande les dimension de l'image $img:
$size = getimagesize($img);
//largeur
$largeur=$size[0];
//longeur
$longeur=$size[1];
//on regarde si c'est png jpg gif
$type=$size[2];
//on regarde si l'image depasse en longueur
$depasse_long=$longeur-$max_longeur;
//on regarde si l'image depasse en largeur
$depasse_large=$largeur-$max_largeur;
//on charge l'image $img dans $img_big:
switch($type)
{
case 2: $img_big = imagecreatefromjpeg($img); break;
case 3: $img_big = imagecreatefrompng($img); break;
case 1: $img_big = imagecreatefromgif($img);break;
}
if($depasse_long>0 || $depasse_large>0)
{
if($depasse_long>$depasse_large)
{
$largeur=($max_longeur/$longeur)*$largeur;
//echo "$largeur=$max_longeur/$longeur)*$largeur";
$longeur=$max_longeur;
//150/243*300
}
else
{
$longeur=($max_largeur/$largeur)*$longeur;
$largeur=$max_largeur;
}
//on fait une nouvelle image ayant pour dimension: largeur et hauteur
if($gd=="1")
{
$img_mini = imagecreate($largeur, $longeur);
}
else
{
$img_mini = imagecreatetruecolor($largeur, $longeur);
}
//on copie l'image d'origine contenu dans img_big dans img_mini en la reduisant a $img_x pour la largeur et $img_y pour la hauteur:
imagecopyresized($img_mini,$img_big,0,0,0,0,$largeur,$longeur,$size[0],$size[1]);
switch($type)
{
case 2:
//on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/jpeg");
//on envoie l'image reduire au navigateur:
imagejpeg($img_mini);
break;
case 3://on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/png");
//on envoie l'image reduire au navigateur:
imagepng($img_mini);
break;
case 1: //on enverra au navigateur un fichier de type image au format jpeg:
header("Content-type: image/gif");
//on envoie l'image reduire au navigateur:
imagegif($img_mini);
break;
default: false ;
}
}
else
{
switch($type)
{
case 2:header("Content-type: image/jpg"); $img_big = imagejpeg($img_big); break;
case 3:header("Content-type: image/png"); $img_big = imagepng($img_big); break;
case 1:header("Content-type: image/gif"); $img_big = imagegif($img_big);break;
default: false ;
}
}
}
?>
Voilà ou j'en suis, aurais-je mal fait les changements ? (en tout cas, il y a du progret)
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
phloam a écrit:Sinon une autre solution encore plus simple est de simplement ajouter ces 2 lignes: au début de ton code et de ne rien modifier d'autre:
foreach ($_POST as $key => $value) $$key = addslashes($value);
foreach ($_GET as $key => $value) $$key = addslashes($value);
trouvé ici:
http://www.asp-php.net/ressources/bouts ... aspx?id=37
Bon sinon, ta solution de secour fonctionne carrément bien !
En attendant de trouver les erreurs que j'ai fait, je confirme que ça fonctionne au poil !!! (pas testé sur free mais sur mon hébergeur payant). Merci phloam.
Cependant, je reste ouvert au propositions de modifs du script que j'ai corrigé (mal d'ailleur).
Oui effectivement la seconde solution pourrait créer des trous de sécurité si un autre script est utilisé sur la même page et/ou si des variables ne sont pas initialiser (mais dans ce cas en ayant rapidement regarder je n'ai pas trouver de trous évident pour ce script, toutes les variables sont initialiser). Il faut veiller à placer les deux lignes tout en haut du code avant l'initialisation des variables.
- felinderace
- Nouveau WRInaute
- Messages: 38
- Inscription: Mar Avr 24, 2007 17:34
... j'ai mis le temps, mais merci pour vos réponses. La galerie est au top maintenant sur les hebergeurs payants...merci grandement pour cette soluce géniale.
Bonjour
Quid des droits d'auteur sur les photos ? Je m'explique : qu'est-ce qui empêche quelqu'un d'uploader la photo d'un autre ? Ton paragraphe sur les clauses légales est un peu léger je pense... et en cas de problème, tu pourrais risque "gros"
Mais surtout, le fait de donner en pâture des images haute définition (la première que j'ai cliquée était en 4 MPixels) est à mon avis une hérésie !... Où comment retrouver ses photos sur un microstock
Voili voilou
PS : ton article sur la HCM chez le maine coon est obsolète... et en partie faux
(eh oui, tous les maine coons porteurs de la mutation HCM1 ne déclenchent pas la maladie... Expérience de terrain (bientôt 10 ans d'élevage) corroborée par une étude récente en Allemagne, qui a notamment circulé chez les éleveurs de maine coons ; au passage j'ai une homozygote++ qui va sur ses 8 ans, qui est placée chez une particulière pour sa "retraite", elle a un coeur de jeune fille et tout est même nickel au Doppler tissulaire
) ; quant au test HCM2, les premières vagues de tests ont montré son inefficacité... Conclusion : le test ADN HCM1 spécifique au maine coon ne reste qu'un outil et en rien une vérité absolue, seul un suivi échographique régulier donnera une vision concrète de la situation des chats. Dingue comme les maine coons ont perdu 10 ans d'espérance de vie depuis l'arrivée de ce test ADN... Mardi je vois le Pr Chetboul à l'ENV Maisons-Alfort, je lui poserai la question à propos de l'étude allemande 
Quid des droits d'auteur sur les photos ? Je m'explique : qu'est-ce qui empêche quelqu'un d'uploader la photo d'un autre ? Ton paragraphe sur les clauses légales est un peu léger je pense... et en cas de problème, tu pourrais risque "gros"
Mais surtout, le fait de donner en pâture des images haute définition (la première que j'ai cliquée était en 4 MPixels) est à mon avis une hérésie !... Où comment retrouver ses photos sur un microstock
Voili voilou
PS : ton article sur la HCM chez le maine coon est obsolète... et en partie faux
lol, mort de rire, c'est mon script !!!
tu peux le trouver a cette adresse:
http://forummp3.free.fr/galerie/
je sais pas si tu as la derniere version par contre (ca commence a dater la derniere MAJ)
ca fait plaisir de lire "super script"
C la fete des mere, j'ai pas trop le temps de lire le topic, mais sinon, j'essayerai de voir comment adapter le script pour satisafaire tout le monde (j'avais pris en compte les register_global à l'epoque)
a+
tu peux le trouver a cette adresse:
http://forummp3.free.fr/galerie/
je sais pas si tu as la derniere version par contre (ca commence a dater la derniere MAJ)
ca fait plaisir de lire "super script"
C la fete des mere, j'ai pas trop le temps de lire le topic, mais sinon, j'essayerai de voir comment adapter le script pour satisafaire tout le monde (j'avais pris en compte les register_global à l'epoque)
a+
-

UsagiYojimbo - WRInaute accro

- Messages: 5240
- Inscription: Mer Nov 23, 2005 10:38
Pour obtenir des résultats meilleur au niveau des thumb, l'utilisation de ImageMagick serait pas mal je pense. En terme de rendu pour un retaillage d'image c'est quand même ce qui se fait de mieux. Les possibilités sont en effet bien plus poussées que GD. Après c'est sûr qu'il faut avoir ImageMagick d'installé sur le serveur...
dans la derniere version que j'ai pas encore mis dispo, j'ai utilisé une autre fonction de GD, ca sert à enlever les defauts lors d'un redimensionnement.UsagiYojimbo a écrit:Pour obtenir des résultats meilleur au niveau des thumb, l'utilisation de ImageMagick serait pas mal je pense. En terme de rendu pour un retaillage d'image c'est quand même ce qui se fait de mieux. Les possibilités sont en effet bien plus poussées que GD. Après c'est sûr qu'il faut avoir ImageMagick d'installé sur le serveur...
31 messages • Page 2 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Picasa Web Albums en français
- Photos satellite des incendies en Grèce dans Google Earth
- Nouveau Picasa : Picasa Web Albums
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Carte du Tour de France 2008 dans Google Earth
- Google ouvre un nouveau bureau à New-York
- La Terre vue du ciel dans Google Earth : photos de Yann Arthus-Bertrand
- Google rachète Neven Vision
- Les albums web Picasa passent à 1 Go de stockage
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Recherche de script pour galerie photo
- script galerie photo pour partie coloriage
- recherche script html pour galerie photo ou trombinoscope
- galerie photo flash et fichier .xml (galerie bananalbum)
- Galerie photo
- Galerie Photo - votre avis
- Besoin d'aide galerie photo
- Galerie photo sur forum phpBB
- Aide sur une galerie photo dewslider
- conseils et avis sur l'intégration de ma galerie photo
- Galerie photo : Obtenir des BackLinks facilement...
- Indexation des images dans un site type galerie photo
Consultez la description détaillée des produits ou services de Google suivants : Picasa Web Albums
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum