Merci pour cette réponse rapide !
une partie du code pour créer le path du dossier images
$time = addslashes($_POST['time']); echo 'time: '.$time.'<br /><br />'; $categorie = addslashes($_POST['categorie']); $queryNomCategorie = " SELECT * FROM galerie_categorie WHERE galerie_categorie.id=$categorie"; $resultNomCategorie = mysql_query($queryNomCategorie, $link); $rowNomCategorie = mysql_fetch_array($resultNomCategorie); $dossierPreview = '../../images/galerie/'; $pathPreviewCategorie = $dossierPreview.$rowNomCategorie["nom"]; $date = '/'.$time; $pathPreviewTime = $pathPreviewCategorie.$date; $dossierPreviewImage = '/images/'; $pathPreviewImage = $pathPreviewTime.$dossierPreviewImage; echo $pathPreviewImage; if (!is_dir($pathPreviewCategorie)) mkdir($pathPreviewCategorie,0777); chmod($pathPreviewCategorie, 0777); if (!is_dir($pathPreviewTime)) mkdir($pathPreviewTime,0777); chmod($pathPreviewCategorie, 0777); if (!is_dir($pathPreviewImage)) mkdir($pathPreviewImage,0777); chmod($pathPreviewCategorie, 0777);
J'ai rajouté la fonction chmod($poath,0777) en plus de mkdir($path; 0777), ça marche
une partie du code qui dezippe le .zip des images et supprime à la fin le .zip
<?php $galerie = 'images.zip'; $idGalerie = $_GET["idGalerie"]; $queryGalerie = "SELECT * FROM galerie_categorie , galerie, galerie_description WHERE galerie.id=$idGalerie AND galerie.id=galerie_description.id_galerie AND galerie_description.langue=1 AND galerie.id_categorie=galerie_categorie.id"; $resultGalerie= mysql_query($queryGalerie, $link); $rowGalerie = mysql_fetch_array($resultGalerie); $date = $rowGalerie["dateGalerie"]; $time = ereg_replace("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2})[0-9]{2})[0-9]{2})","\\1\\2\\3\\4\\5\\6",$date); $dossierPreview = '../../images/galerie/'; $pathPreviewCategorie = $dossierPreview.$rowGalerie["nom"]; $dossier = '/'.$time; $pathPreviewTime = $pathPreviewCategorie.$dossier; $dossierPreviewImage = '/images/'; $pathPreviewImage = $pathPreviewTime.$dossierPreviewImage; // GET DIRECTORY LISTING SORTED BY LAST MODIFIED $dir = $upload_folder; $filelist=array(); _AT_include('pclzip.lib.php'); if (class_exists("PclZip")) { $directory_zip = opendir($pathPreviewImage); while ($file_name = readdir($directory_zip)) { $ext = strtolower(substr($galerie ,-4)); if ($ext == ".zip") { $archive = new PclZip($pathPreviewImage . $galerie); if (@$archive -> extract(PCLZIP_OPT_PATH,$pathPreviewImage) == TRUE) { unlink($pathPreviewImage.$galerie); chmod($pathPreviewImage , 0777); } } } closedir ($directory_zip); } $directory = opendir($pathPreviewImage); while ($galerie = readdir($directory)) { $ext = strtolower(substr($galerie,-4)); if ($ext == ".jpg" OR $ext == "jpeg" OR $ext == ".gif" OR $ext == ".png" OR $ext == ".bmp" OR $ext == ".tif" OR $ext == "tiff" OR $ext == ".psd") { if (($galerie !=".") && ($galerie != "..") && (strtoupper($galerie) != ".HTPASSWD") && (strtoupper($galerie) != ".HTACCESS")) { $fileinfo = fopen ($pathPreviewImage . $galerie,"rb"); $stat = fstat($fileinfo); $date = $stat[9]; $size = $stat[7]; if ($size!="") { // means don't show folders $filelist[] = array("filename" => $galerie, "date" => $date, "size" => $size); } fclose($fileinfo); } } } //ksort($filelist); closedir ($directory); ?>
Cette partie ne marche pas alors que sur free oui, un fichier de 25mo est dézippé en qq secondes.