Nathan11

Inscris le 07/01/2010 à 11:37
  • Signature
    Nathan
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Nathan11
le 08/01/2010 à 15:48
Pagination sans BDD
Merci pour la réponse !

Finalement je suis parti du script présent dans "les comment faire ?".
Du coup le code d'affichage des photos n'est plus du tout le meme mais je n'arrive toujours pas a intégré le système de pagination !
<?php 
// Sécurité
if ( !defined ( 'TAGADASH' ) )
{
header ( 'Location: ../' );
die ( -1 );
}


// Droits d'administration
if ( $droit['administration'] == 0 )
{
$page_msg = 2;
include_once ( 'systeme/msg.' . EXT );
}


// on défini le répertoire où sont stockées les images de grande taille
$dir = './TOF/pics';
// on défini le répertoire où seront stockées les miniatures
$dir_mini = './TOF/mini';
// on défini une variable $ratio qui vaudra 150 dans notre cas (150 pixels). En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels, soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).
$ratio = 100;

// on teste si le formulaire permettant d'uploader un fichier a été soumis
if (!empty($_POST['go'])) {
// on teste si le champ permettant de soumettre un fichier est vide ou non
if (empty($_FILES['mon_image']['tmp_name'])) {
// si oui, on affiche un petit message d'erreur
$erreur = 'Aucun fichier envoyé.';
}
else {
// on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations)
$tableau = @getimagesize($_FILES['mon_image']['tmp_name']);
if ($tableau == FALSE) {
// si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre fichier n\'est pas une image.';
}
else {
// on teste le type de notre image : jpeg ou png
if ($tableau[2] == 2 || $tableau[2] == 3) {
// si on a déjà un fichier qui porte le même nom que le fichier que l'on tente d'uploader, on modifie le nom du fichier que l'on upload
if (is_file('./TOF/pics/'.$_FILES['mon_image']['name'])){
$file_upload = time()."_".$_FILES['mon_image']['name'];
}
else {
$file_upload = $_FILES['mon_image']['name'];
}
// on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille
copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload);

// il nous reste maintenant à générer la miniature

// si notre image est de type jpeg
if ($tableau[2] == 2) {
// on crée une image à partir de notre grande image à l'aide de la librairie GD
$src = imagecreatefromjpeg($dir.'/'.$file_upload);
// on teste si notre image est de type paysage ou portrait
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
// on copie notre fichier généré dans le répertoire des miniatures
imagejpeg ($im, $dir_mini.'/'.$file_upload);
}
elseif ($tableau[2] == 3) {
$src = imagecreatefrompng($dir.'/'.$file_upload);
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
imagepng ($im, $dir_mini.'/'.$file_upload);
}
// on redirige l'administrateur vers l'accueil de la partie admin
header('location: index.php?page=TOF_Admin');
exit();
}
else {
// si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur
unlink($_FILES['mon_image']['tmp_name']);
$erreur = 'Votre image est d\'un format non supporté.';
}
}
}
}

// on teste si le formulaire permettant de supprimer un fichier à été soumis
if (isset($_GET['del'])) {
if (empty($_GET['del'])) {
// si le paramètre n'est pas renseignée, on affiche un petit message d'erreur
$erreur = 'Aucune image à supprimer';
}
else {
$pic_a_zapper = $_GET['del'];
// si l'image existe ainsi que sa miniature, on les supprime
if (is_file('./TOF/mini/'.$pic_a_zapper) && is_file('./TOF/pics/'.$pic_a_zapper)) {
unlink('./TOF/mini/'.$pic_a_zapper);
unlink('./TOF/pics/'.$pic_a_zapper);
}
// si l'image ou la miniature n'existe pas, on affiche un message d'erreur
else {
$erreur = 'Image non reconnue';
}
}
}
$page_texte .='<fieldset><legend>Ajouter une photo à la galerie :</legend><br />';

$page_texte .='<form action="index.php?page=TOF_Admin" method="post" enctype="multipart/form-data">
<input type="file" name="mon_image" /> <input type="submit" name="go" value="Envoyer" />
</form></fieldset>';

$page_texte .='<p align="center" style="color:#F00; font-weight:bold;">Supprimer une photo de la galerie (cliquer sur la miniature pour supprimer la photo)</p>';
// l'étude de cette portion de code a déjà été faite plus haut
$tableau = array();
$dossier = opendir ('./TOF/mini/');
while ($fichier = readdir ($dossier)) {
if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') {
$tableau[] = $fichier;
}
}
closedir ($dossier);

$nbcol=8;
$nbpics = count($tableau);

if ($nbpics != 0) {
$page_texte .= '<fieldset><legend>Image de la galerie</legend><br /><br /><p>';
for ($i=0; $i<$nbpics; $i++){
if($i%$nbcol==0)
$page_texte .='<div align="center">';
// on affiche un lien sur la photo permettant de la supprimer
$page_texte .= '<a href="index.php?page=TOF_Admin&amp;del=' . $tableau[$i] . '"><img src="./TOF/mini/' . $tableau[$i] . '" alt="Image" /></a>&nbsp;&nbsp;';
if($i%$nbcol==($nbcol-1))
$page_texte .= '</div>';
}
$page_texte .='</p></fieldset>';
}
else $page_texte .= 'Aucune image à afficher';

// si un message d'erreur est défini, on l'affiche
if (isset($erreur)) $page_texte .= '<br />' . $erreur;
?>

Merci
Nathan
Nathan11
le 07/01/2010 à 11:46
Pagination sans BDD
Bonjour
J'ai un script php d'album photo très simple et je voulais savoir si d'après mon code (ci-dessous) on peut y intégré un système de pagination ?
En fait j'ai cherché des sources mais je n'ai rien trouvé.
<?php
/***************************************************************************
* Fichier : /pages/Galerie.php
* Date de création : avant le 13/08/2007
* Dernière modification : 15/10/2007
***************************************************************************/

// Sécurité
if ( !defined ( 'TAGADASH' ) )
{
header ( 'Location: ../' );
die ( -1 );
}
///

///
$page_texte .= '<p align="center" style="color:#C00;"><b>Pour voir les photos cliquez simplement dessus !</b></p>';
$page_texte .= '<fieldset><legend>Image de la galerie</legend><br /><br /><p align="center">';
$adresse = "Galerie/";
$dossier = opendir($adresse);
while ($Fichier = readdir($dossier))
{
if ($Fichier != "." && $Fichier != "..")
{
$nomFichier = $adresse."/".$Fichier;
$i++;
// Nom de l'image.
$source= $nomFichier;
// Taille à ne pas dépasser
$taillemax=100;
// On récupère les dimension initiales de l'image.
$img = getimagesize($source);
$x=$img[0];
$y=$img[1];
// Le script.
if ($x > $y)
{
$y=$y*(($taillemax)/$x);
$x=$taillemax;
}
if ($y > $x)
{
$x=$x*(($taillemax)/$y);
$y=$taillemax;
}
if ($y == $x)
{
$x=$taillemax;
$y=$taillemax;
}
// On peut afficher l'image.
$page_texte .="<a href=\"$source\" rel=\"zoombox[galerie]\"><img src=\"$source\" width=\"$x\" height=\"$y\" /></a>&nbsp;&nbsp;";
if($i == 7){
$i = 0;
$page_texte .="<br/><br />";
}
}
}
$page_texte .='</p></fieldset>';
closedir($dossier); //Fermeture du dossier.
?>


Si quelqu'un peu m'aider en sachant que je suis extrèmement loing d'être fort en php !
Merci beaucoup
Nathan
LoadingChargement en cours