Galerie photo php

nissweb Messages postés 12 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 4 juillet 2008 - 4 juil. 2008 à 01:02
Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 - 4 juil. 2008 à 07:08
bonjour
je le fait deja ce code mais ca marche pas, plaise quelqu'un qui peut m'aider pour cette galerie,il exite un dossier a la racine de site qui s'appel images et sous dossier qui s'appel miniatures
merci d'avance.
voila, le code:
 
index.php:
<?php // Variables de connexion à la base
$host = "localhost";
$user = "root";
$password = "";
$database = "galerie";
// Connexion à la base
mysql_connect($host,$user,$password);
mysql_select_db("$database");?>
<HTML>
<HEAD>
<TITLE>Galerie PHP</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
<LINK href="css/normal.css" rel="stylesheet" type="text/css">
</HEAD>

    GALERIE,
 

<hr align="center" width="796" size="1" color="#CEECCC" id="H1">
  ----

          <?php
// sélectionne toutes les fiches de la table $table
$query = "SELECT * FROM photos order by id DESC";
$result = mysql_query($query);
// On choisit de faire trois colonnes
$NbCol=6;
// Il y a un total de NbTot enregistrements
$NbTot=mysql_num_rows($result);
// Il va falloir un certain nombre de lignes
$NbLigne=1+(int)($NbTot/$NbCol);
// Premier enregsitrement
$Col=1; // Pour savoir dans quelle colonne on est
$Lig=0; // Pour savoir sur quelle ligne on est
// tant qu'il y a des fiches
while ($val = mysql_fetch_array($result))
{  
   $Valeur=$Col+($Lig*$NbCol);
   $SQL = "UPDATE photos SET ordre=".$Valeur." WHERE mini='".$val["mini"]."' AND grand='".$val["grand"]."'";
   mysql_query($SQL);
   $Lig=$Lig+1;
   // si on a fait NbLigne ou si le compteur est supérieur au nombre total
   // il faut passer à la colonne suivante et à la première ligne
   if (($Lig==$NbLigne) or ($Valeur>($NbTot-$NbCol))) {$Lig=0;$Col=$Col+1;}
}
mysql_close();
// Maintenant que l'ordre a été établi on passe
// au vidage du fichier en mode colonnes (NbCol colonnes)
// Ouverture de la table triée sur notre champ ordre
$host = "localhost";
$user = "root";
$password = "";
$database = "galerie";
// Connexion à la base
mysql_connect($host,$user,$password);
mysql_select_db("$database");
$query="Select * from photos order by DESC";
$result=mysql_query($query);
echo "<table cellpadding=3>";
$Col=1;
 // Compteur permettant de savoir si on est en début ou en fin de ligne
 while ($val = mysql_fetch_array($result)){  
   if ($Col==1)
   {
   echo "----
";
   }
echo ",
[css/normal.css
</head>

<?php
// Taille maximum du fichier
$MAX_FILE_SIZE = 1000000;
// Dossier de destination du fichier
$folder = "images/";
// Tableau array des différents types
$allowed_types = array("image/bmp", "image/gif", "image/pjpeg", "image/jpeg", "image/jpg", "multipart/x-zip", "video/msvideo");
// Variables récupérées par methode POST du formulaire
$fname = $HTTP_POST_FILES['fichier']['name'];
$ftype = $HTTP_POST_FILES['fichier']['type'];
$fsize = $HTTP_POST_FILES['fichier']['size'];
$ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];
// Divers tests afin de savoir si le format de fichier correspond à notre tableau array
if(!in_array($ftype, $allowed_types)){$error = 1;}
// La taille du fichier n'est pas dépassée
if($fsize > $MAX_FILE_SIZE){$error = 2;}
// Le fichier n'existe pas déjà
if(file_exists($folder."m_".$fname)){$error = 3;}
// Si tout va bien
if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}
// Switch pour la gestion des erreurs
switch($error){
case'0':
echo("Fichier correctement envoyé.");
break;
case'1':
echo("Format de fichier incorrecte.");
break;
case'2':
echo("Fichier trop volumineux.");
break;
case'3':
echo("Fichier déjà existant.");
break;
}
?>
<?php // Variables de connexion à la base
$host = "localhost";
$user = "root";
$password = "";
$database = "galerie";
// Connexion à la base
mysql_connect($host,$user,$password);
mysql_select_db("$database");
$Vfichier="$folder$fname";
$Vlegende = $_POST["legende"];
$Vlegende=nl2br($Vlegende);
$Vlegende = str_replace("'" , "&#8217;", $Vlegende); // Remplacement de l'apostrophe
$folder_min = "images/miniatures/";
$fichier_nom = "$fname";
$path_mini="$folder_min$fname";
$ok = mysql_db_query($database,"insert into photos (mini,grand,legende) values ('$path_mini','$Vfichier','$Vlegende')") ?>
<FORM action="redim.php" method="post" name="F1" target="_self" id="F1">
  ">
  ">
  ">
</FORM>
<SCRIPT language="javascript">
document.F1.submit()
</SCRIPT>

</html>
pour le code de redim

redim.php

<html><head></head>
<?php
$grand=$_POST["hfichier"];
$nom=$_POST["hname"];
$folder_min=$_POST["hfolder_min"];
$ratio = .10;
// Calcul des nouvelles dimensions, list est un moyen plus pratique pour ne récupérer que ce qu'on veut
list($largeur, $hauteur) = getimagesize("$grand");
$n_largeur = $largeur * $ratio;
$n_hauteur = $hauteur * $ratio;
//création de la destination
$destination = imagecreatetruecolor($n_largeur, $n_hauteur);
//on ouvre la source
$source = imagecreatefromjpeg("$grand");
// Redimensionnement
imagecopyresized($destination, $source, 0, 0, 0, 0, $n_largeur, $n_hauteur, $largeur, $hauteur);
imagejpeg($destination);
//Enregistrement de l'image créée
$file = "$folder_min$nom";
//enregistre l'image dans le répertoire images à la racine du site.
imageJpeg($destination, $file);
imagedestroy($destination);
imagedestroy($source)
?>

<script type="text/javascript" langage="JavaScript">
<!--
parent.location = "index.php";
// -->
</script></html>

zoom.php

<?php // Variables de connexion à la base
$host = "localhost";
$user = "root";
$password = "";
$database = "galerie";
// Connexion à la base
mysql_connect($host,$user,$password);
mysql_select_db("$database"); ?>
<?php $p=$_GET['param'];?>
<?php $query = "SELECT id, grand, legende from photos where id='$p'";
$result = mysql_query($query);?>
<?php while ($val = mysql_fetch_array($result)) { ?>
<?php $image = $val["grand"]?>
<HTML>
<HEAD>
<TITLE>GALERIE - <?php echo $val["legende"] ?></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
<LINK href="css/normal.css" rel="stylesheet" type="text/css">
</HEAD>

<?php echo "

<?php echo $val["legende"] ?>

<?php }?>
<hr align="right" width="200" size="1">

&nbsp;]Fermer
  cette fenêtre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

</HTML>

1 réponse

Bling 182 Messages postés 510 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 5 juillet 2009 3
4 juil. 2008 à 07:08
Je crois avoir trouvé l'erreur :

// On choisit de faire trois colonnes
$NbCol=6;

Non sans rire, on doit faire quoi ? Interpreter à vue du php non indenté et mal codé ?
Tu pourrais en dire plus long que "ca marche pas" ? Genre préciser ce qui fonctionne pas, etc...
0
Rejoignez-nous