Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GALERIE D'IMAGE AVEC RÉATION DE MINIATURE ET COMPRESSION DES ORIGINAUX


Information sur la source

Catégorie :Graphique Niveau : Débutant Date de création : 28/06/2004 Date de mise à jour : 01/07/2004 13:42:42 Vu / téléchargé: 13 082 / 2 217

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

Ce code permet de créer une galerie d'image simple, avec un titre pour chaque image (utilise MySQL) et une miniature (utilise la librairie GD). Les images originelles sont compréssées sur le serveur pour occuper moins de place, et ne sont decompréssées que lorsque l'utilisateur en demande l'affichage (et ca, c'est avec l'extension Bzip2). C'est un script assez simple, pour l'installer, il suffit de configurer les variables dans param.php comme ceci:
$serveur = nom de votre serveur MySQL
$login = votre login sur ce serveur
$pass = votre mot de passe sur ce serveur
$base = le nom de votre base de données
$directory = le nom du repertoire où vous stoquerez les images avant et après compression

Vous devez ensuit créer une répertoire nommé "miniatures" et executer install.php

Pour integrer des images dans le script, placez-les dans le repertoire de vous avez indiqué dans param.php et executez compress_dir.php
 

Conclusion

J'espere que cela serviera à quelqu'un. Les paramètres par défaut sont ceux de EasyPHP par défaut, et le répertoire par defaut se nomme images.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Aramiil le 30/06/2004 16:13:37

Pas de commentaires?

signaler à un administrateur
Commentaire de bifi le 01/07/2004 02:49:33

et bien moi j'ai quand meme un petit probleme avec ton code , pour l'installation il n'y a aucun probleme, mais quand j'effectue compress_dir et que je clic sur envoyer le rapport j'ai le le message d'erreur , enfin le warning suivant qui apparait
Warning: main(http://localhost/PAPA/compress.php?file_to_c=anne-so et yan.jpg&title=yan et anne so ): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /home/yasha/www/compress_dir.php on line 46

Warning: main(): Failed opening 'http://localhost/PAPA/compress.php?file_to_c=anne-so et yan.jpg&title=yan et anne so ' for inclusion (include_path='.:/usr/share/pear') in /home/yasha/www/compress_dir.php on line 46

pourrais tu éclairer ma lanterne parce que j'ai beau chercher je ne trouve pas de solution ....
merci d'avance

signaler à un administrateur
Commentaire de Aramiil le 01/07/2004 13:44:52

Oupps.... erreur de ma part... j'ai honte lol ! je me suis trompé, lors du transert, j'ai oublié de modifier une adresse. J'ai mis à jour la source, pour ce qui auraient l'ancienne, il suffit de modifier dans le fichier compress_dir.php l'inclusion de http://localhost/PAPA/compress.php etc... en compress.php (et donc enlever http://localhost/PAPA/ ). Vala dsl pour cette erreur

signaler à un administrateur
Commentaire de Cyber59 le 01/07/2004 20:35:00

un screenshot aurai été aprécié.

signaler à un administrateur
Commentaire de bifi le 01/07/2004 21:04:13

merci beaucoup pour la rapidité de ta réponce je teste ca tout de suite

signaler à un administrateur
Commentaire de Aramiil le 02/07/2004 14:06:29

A vrai dire je n'ai pas de screen, car l'esthetique n'etant pas mon fort, le truc n'est pas superbe mais avec une CSS par exemple ca peut s'ameliorer trtès vite ;-)

signaler à un administrateur
Commentaire de clarkevil le 04/07/2004 16:25:43

Salut g d difficulté avec ton code notamment sur la page
compress_dir ou je recoit se message "Notice: Undefined index: act in c:\program files\easyphp1-7\www\ajar\galleriimg\compress_dir.php on line 4"

et sur la même page lorske j'encoie je recoi se message "Warning: main(compress.php?file_to_c=Ana-Beatriz-Barros-c-b-11.jpg&title=): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\ajar\galleriimg\compress_dir.php on line 46

Warning: main(): Failed opening 'compress.php?file_to_c=Ana-Beatriz-Barros-c-b-11.jpg&title=' for inclusion (include_path='.;C:\Program Files\EasyPHP1-7\php\pear\') in c:\program files\easyphp1-7\www\ajar\galleriimg\compress_dir.php on line 46"

Peut tu m'aider s'il te plait

merci

signaler à un administrateur
Commentaire de Aramiil le 05/07/2004 16:49:20

Pour la première erreur, elle est simplement due à la configuration de Easy PHP qui affiche toutes les erreurs, et ne provoque ps de problemes (act sert à savoir si il faut afficher le formulaire). l'autre erreur est plus etrange... verifie que tu ai bien le fichier compress.php dans ton repertoire c:\program files\easyphp1-7\www\ajar\galleriimg
Si il n'y est pas, essaye de re-télécharger la source

signaler à un administrateur
Commentaire de g0ldstein le 05/07/2004 19:07:28

Salut là j'ai tout essayé je ne trouve pas le probleme

Compress_dir.php j'envoie le formulaire et jai une page remplie de sa:

Warning: main(compress.php?file_to_c=al01.gif&title=): failed to open stream: No such file or directory in /home/legraffe2/www/np/php/compress_dir.php on line 46

Warning: main(): Failed opening 'compress.php?file_to_c=al01.gif&title=' for inclusion (include_path='.:/usr/share/pear') in /home/legraffe2/www/np/php/compress_dir.php on line 46


Quel est le probleme?

signaler à un administrateur
Commentaire de Aramiil le 06/07/2004 14:28:04

Il faut verifier que le fichier compress.php est bien situé dans le répertoire du script (cette erreur indique simplement que la commande include à échoué).

signaler à un administrateur
Commentaire de g0ldstein le 06/07/2004 15:56:28

compress.php  est bien dans le meme repertoire que tous les autres fichiers PHP, incluant Compress_dir.php, le tout à la racine

de plus j'ai deux répertoires, img (où je met les images originales) et miniatures dans lequel il n'y a encore rien.

SVP aurais-tu une idée du problème?

signaler à un administrateur
Commentaire de Aramiil le 07/07/2004 15:05:18

c'est bizarre... Je regarderais ca en revenant de vacance (c'est à dire vendredi).

signaler à un administrateur
Commentaire de Chouchou182 le 08/07/2004 16:28:53

Salut à vous, belle compagnie !!

Puisque Mr Aramiil est allé passer ces vacances dans un pays peuplé d'ostrogoths sans PC, j'ai résolu le problème.
Je ne sais pas si tu avais fait des tests avant de poster parce que réussi à inclure un fichier qui n'existe pas, chapeau.
compress.php existe mais compres.php?file_to.... lui, n'existe pas !!

Donc la ligne avec l'include défaillant (46 si je ne m'abuse) est à remplacer par :
compress($image, $title) ;

la fonction compress est la copie presque conforme du fichier compress. Il y a tout de même quelques modifications à faire donc je donne tout le début du fichier compress_dir.php :

<?
//on inclu la fonction de miniaturisaton
include('mini.php');
include('param.php');

// Fonction de compression
function compress ($file, $__title)
{
global $directory, $login, $serveur, $pass, $base ;
// On se protège contre les apostrophes dans le noms de fichier. Le KHANARD qui a inventé ça ...
$file = addslashes($file) ;
// On se protège aussi des utilisateurs qui savent pas que les guillemets, ça passe mal
$title = addslashes($__title) ;
//on determine le fichier à compresser
$file_to_c_whithout_path = $file;
$file_to_c = $directory.$file_to_c_whithout_path;



//on l'ouvre
if ($file_open = @fopen($file_to_c, "r+"))
{

//on lit les données
$data = fread($file_open, filesize($file_to_c));

//on ferme le fichier
fclose($file_open);

//on compress les données
$compress = bzcompress($data, 9);

//on ouvre le fichier de sauvegarde
if ($file_open = @fopen($file_to_c.'.bz', "w+"))
{

//on inscrit les données
fwrite($file_open, $compress);

//on ferme le fichier
fclose($file_open);

} else {

//on affiche l'erreur
echo 'Impossible d\'ouvrir le fichier compréssé';
exit;
}

//on recupere les infos
$info = pathinfo($file_to_c);

//on lance la miniaturisation
miniature($file_to_c, $file_to_c_whithout_path, strtolower($info["extension"]));
unlink($file_to_c);

//on créé le titre
$connection = MySQL_connect($serveur, $login, $pass) or die(mysql_error());
mysql_select_db($base, $connection) or die(mysql_error());
MySQL_query("INSERT INTO titres (image, titre) VALUES ('$file_to_c_whithout_path', '$title')", $connection) or die(mysql_error());
MySQL_close($connection);

//on affiche confirmation
echo 'L\'image '.$file_to_c.' à bien été compréssée.<br>';
} else {

//affichage de l'erreur
echo 'Impossible d\'ouvrir le fichier à compresser.';

}
}
//on regarde l'action
$act = $_POST['act'];

//....

Le reste, vous l'avez déjà

Bonnes vacances à ceux qui en ont et bonne prog à tous !

A++

Chouchou

signaler à un administrateur
Commentaire de ormancey le 18/07/2004 09:34:56

En fait dans compress_dir.php il suffit de remplacer

include("compress.php?file_to_c=$image&title=$title");

par

include("http://localhost/compress.php?file_to_c=$image&title=$title");

A+

signaler à un administrateur
Commentaire de clarkevil le 23/07/2004 09:18:49

je n'arrive tjr pa a faire fonctionner le code quand je l'execute avec easy php on me donne se message d'erreur :

Fatal error: Call to undefined function: bzcompress() in c:\program files\easyphp1-7\www\ajar\galleriimg\compress_dir.php on line 31

quelqu'un pourrai m'aidé siouplait

signaler à un administrateur
Commentaire de collombat le 30/07/2004 00:56:15

Salut

Même pb que ormancey et la correction de chouchou ne semble pas fonctionner ou alors j'ai pas pigé...

L'auteur est-il rentré de vacance ?

@+

signaler à un administrateur
Commentaire de ormancey le 30/07/2004 02:45:43

Ben en fait avec la petite modif que j'ai dit ca marche. A savoir mettre le path absolu pour le fichier compress.php.
Mais je ne peux guère vous aider car je ne connais pas easy php
Sinon pour clarkevil je pense que dans le fichier php.ini il faut rajouter la ligne suivante :

extension=php_bz2.dll

pour que ca marche j'ai egalement du rajouter

extension=php_gd2.dll

A+

signaler à un administrateur
Commentaire de Chouchou182 le 30/07/2004 11:55:48

Salut

Je poste l'ensemble corrigé, il est disponible à cette adresse :
http://www.phpcs.com/code.aspx?ID=25025

A++

Chouchou

signaler à un administrateur
Commentaire de Aramiil le 20/08/2004 10:54:28

Effectivement, j'ai oublié de le signaler, mais php doit etre compilé avec les libraire GD et Bzip2 (disponibles sur multimania et free)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.