•  » Utilisation
  •  » Zippage à la volée des photos en haute res pwg_high

#1 2005-04-01 12:58:55

torode
honoris causa
Paris
2003-07-31
86

Zippage à la volée des photos en haute res pwg_high

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.

Code:

<?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 :

Code:

<!-- 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

#2 2005-04-01 19:05:07

Michrone
Membre
Bruxelles
2003-03-17
143

Re: Zippage à la volée des photos en haute res pwg_high

Hello,

Très chouette script.
Pourrais faire partie d'une évolution de phpwg (une option dans le panneau admin: zip ou pas zip). Non ? :-)

Hors ligne

#3 2005-04-05 15:48:13

Tcherno
Membre
Issy-les-moulineaux (France)
2004-06-09
311

Re: Zippage à la volée des photos en haute res pwg_high

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 ?


"Mon métier est de voir et faire voir. Je ne ressens pas la nécessité d'en changer" Jean Lattès Photojournaliste (1917-1996)
Photothèque : http://www.puech.info/photos/
Blog photojournalisme : http://www.a-l-oeil.info

Hors ligne

#4 2005-04-05 15:54:17

torode
honoris causa
Paris
2003-07-31
86

Re: Zippage à la volée des photos en haute res pwg_high

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

  •  » Utilisation
  •  » Zippage à la volée des photos en haute res pwg_high

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact