Bonjour,
Le script ci-dessous permet de compresser au format .zip les photos .jpg (pas les .JPG) du dossier pwg_high. Il est placé à la racine du site, je l'ai appelé zip_me.php. Il fonctionne sur un serveur linux en Fedora Core 3, je ne l'ai pas testé sur un serveur windows.
Je l'ai testé sur Mac OS X.3.8 sur IE, Firefox, Mozilla et Safari, sur Windows XP sur IE et Firefox.
Il permet aux visiteurs de télécharger des .zip au lieu d'afficher la photo haute def dans une fenêtre. Cela simplifie le travail des photographes contributeurs qui envoient des jpg dans le dossier pwg_high pour leur éviter une manipulation de fichier supplémentaire.
<?php // Récupération du nom de la photo variable {high.U_HIGH} dans picture.tpl $photo=$_GET['photo']; // Test de l'argument $er = "^[./[:alnum:]_-]+\.(jpg|JPG)$" ; if (ereg($er,$photo)) { // Ajout du chemin absolu au nom de la photo remplacez /var/www/html/photos/ par votre arbo absolue $photo= "/var/www/html/photos/".str_replace("./","","$photo"); // Zippage de la photo $zip=str_replace(".jpg",".zip","$photo"); if (!file_exists($zip)) { exec("zip -j $zip $photo"); } // Ouvre le fichier $fp = fopen($zip, 'r'); $zip2 = basename($zip); // Envoi des en-têtes header("Content-Type: application/zip"); header("Content-Disposition: attachment; filename=$zip2"); // Envoi du contenu du fichier fpassthru($fp); // Suppression du fichier .zip pour gagner de l'espace disque if (file_exists("$zip")) { unlink("$zip"); } else { die("Echec unlink"); } } else { // Message d'erreur en cas de l'argument du style ;rm -rf * echo "Erreur nom de fichier<br><br><br>Cliquez sur le bouton \"Retour\" de votre navigateur.<br><br><br>Please click on the \"Back\" button of your browser." ; } exit; ?>
Code à insérer dans la template picture.tpl :
<!-- BEGIN high --> <div><a href="zip_me.php?photo={high.U_HIGH}">Download High Res</a></div> <!-- END high -->
P.S.: Les droits des fichiers doivent être 755 sinon exec ne fonctionne pas (apache n'a pas les droits).
Hors ligne
torode a écrit:
. Cela simplifie le travail des photographes contributeurs qui envoient des jpg dans le dossier pwg_high pour leur éviter une manipulation de fichier supplémentaire. ).
Ton script m'a l'air très interessant, mais, par contre je ne comprends pas bien ta phrase (ci dessus) peux tu m'éclairer ?
Hors ligne
Tcherno a écrit:
torode a écrit:
. Cela simplifie le travail des photographes contributeurs qui envoient des jpg dans le dossier pwg_high pour leur éviter une manipulation de fichier supplémentaire. ).
Ton script m'a l'air très interessant, mais, par contre je ne comprends pas bien ta phrase (ci dessus) peux tu m'éclairer ?
Si tu souhaites ouvrir un site pour un collectif de photographes, pour leur faciliter le travail, tu leur demandes d'envoyer leurs photos dans un dossier en .jpg et mon script se charge du zippage.
Hors ligne