Boujours, j'ai fait un site internet capable de creer des miniatures de mes images et de me generer les pagehtml qui vont aveec.
Par la meme ocasion j'ai rajouter un mode permettant de selectionner
des images, mais je cherche maintenant un system pour que les images
selectionner soit compresser en zip et que le fichier soit preposer en
telechargement. (tout ca en dynamique)
si vous n'arriver a vous faire une idee, vous pouver regarder mon site pour mieu comprendre. http://gege.no-ip.biz
Je joint mon code en javascript et le code php (pour creer le zip des images selectionner)
Le PHP nota: il marche tres bien en
local (PS: le scripte en html ne sert qua
tester directement le fichier )
----------------------------------------------------------------------------------------------------------------------------------
<?php
if (isset( $_POST['repertoire']))
{
$repertoire = $_POST['repertoire'];
$repertoire = strtr($repertoire,",","\\");
$liste = $_POST['liste'];
$nb=substr_count($liste,'zzyzz');
$detail=explode("zzyzz",$liste);
// appel de la classe
include("zip.lib.php");
// création d'un objet 'zipfile'
$zip = new zipfile();
for ($i=0;$i<$nb;$i++)
{
// contenu du fichier
$truc="c:\mes documents".$repertoire."\\".$detail[$i];
$fp = fopen ($truc, 'r');
$content = fread($fp, filesize($truc));
fclose ($fp);
// ajout du fichier dans cet objet
$zip->addfile($content,$truc);
}
// production de l'archive' Zip
$archive = $zip->file();
// entêtes HTTP
header("content-type: application/octet-stream");
// force le téléchargement
header('Content-Disposition: inline; filename=archive.zip');
echo $archive;
exit();
}
?>
<!---------html---------ne sert qua tester le fichier.--------->
<!--
<html>
<head>
<title>
Repertoire des photos
</title>
</head>
<body>
<h1>Liste des répertoires</h1>
<form method="post" action="phpzipper.php">
repertoire :
<input type="text" name="repertoire" size="120" value=",photos,2005
11 Sylvain"><br>
liste :
<input type="text" name="liste" size="120"
value="20051120_0002.JPGzzyzz20051120_0003.JPGzzyzzundefined">
<input type="submit" value="OK">
</form>
</body>
</html>
-->
---------------------------------------------------------------------------------------------------------------------------------
Le JAVASCRIPT
--------------------------------------------------------------------------------------------------------------------------------
function zipper() //crait la liste des fichiers a telecharger
{
var d = document.getElementById("photos");
for (var idx = 0; idx < d.childNodes.length ; idx++)
{
var photo = d.childNodes.item(idx);
if
(photo.className=="listing") //les images
selectionner sont noter "listing"
{
var
liste=photo.id+"zzyzz"+liste; //crait la liste
des images a telecharger
}
}
contactphpzipper(liste);
}
function contactphpzipper(liste) //envoie la
liste et le chemin des fichiers puis recupere la requete de
telechargement du fichier zip
{
if (window.XMLHttpRequest){ http_request = new
XMLHttpRequest(); } // Mozilla, Safari, ...
else if (window.ActiveXObject){ http_request = new ActiveXObject("Microsoft.XMLHTTP");}//IE
http_request = new XMLHttpRequest();
http_request.overrideMimeType(application/octet-stream);
http_request.onreadystatechange = function(){
if (http_request.readyState == 4) // instructions de traitement de la reponse
{
if (http_request.status == 200) // tout va bien, la reponse a ete recue
{
alert("DSL,ca marche pas encore");
open(http_request.response);
// je sais bien que cette ligne est
completement inventer
// c'est la mon probleme, (en
autre)
}
else
{ alert('Un
probleme est survenu avec la requete.'+http_request.status); }
}
else
{ /* pas encore prete */ }
};
// Preparation d'une requete asynchrone de type POST :
http_request.open("POST", "http://gege.no-ip.biz/photos/mini/phpzipper.php",true);
// Effectue la requete en envoyant les donnees :
http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var chemin=
document.getElementById("repertoire").value;
//emplacement des fichiers a comprimer
//alert( "repertoire="+chemin+"&liste="+liste);
http_request.send("repertoire="+chemin+"&liste="+liste);
}
-----------------------------------------------------------------------------------------------------------------------------
Je vous remercie d'avance de votre temps passer a lire mes lignes de code
Je suis ouvert a toute proposition alternative a mon probleme.
s'il vous plait, donner moi au minimum des indices me permettant de faire mes propres recherche