leditvalentin Posté 4 Mai 2011 Partager Posté 4 Mai 2011 Bonjour à tous, J'ai installé un CMS de partage de document (www.webshare.fr) sur une serveur mutualisé OVH offre pro. Ce CMS est très performant mais j'ai un souci lors du téléchargement de fichiers de plus de 90Mo environ. En effet, le téléchargement sarrête de manière aléatoire au bout d'un certain moment. La durée avant le bug n'est jamais la même et la taille du téléchargement varie également. Dés fois il télécharge 6Mo, 65MO,... sur la totalité du fichier avant de planter. Je ne suis vraiment pas doué en PHP, quelqu'un pourrait il regarder le script pour voir si il y a une erreur sur celui-ci ? Merci d'avance pour votre aide. <?php/************************************************************************//* WEBSHARE *//************************************************************************///// Copyright (c) 2009 by Virginie Vivancos// http://www.webshare.fr//// This program is free software. You can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License.//// =======================================================================// Fonction : Enregistre le fichier sélectionné// Nom : enregistrer.php// Version : 0.8.2// Date : 24/04/09// =======================================================================session_start();include_once "auth.php";include_once "fonctions.php";$l_mysql = new class_mysql();$l_mysql->connect();include_once "zip.lib.php";$nomSrv= $_SESSION["ws"]["serveurActif"];$chemin= stripslashes($_SESSION["ws"]["cheminActif"]."/".$_SESSION["ws"]["dossierActif"]."/");$all= intval($_REQUEST["all"]);if (!empty($_REQUEST["ok"])) { $zipfile = new zipfile(); $zipfilename = basename($_SESSION["ws"]["$nomSrv"]["repServeur"]."/".$_SESSION["ws"]["dossierActif"]."_archive").'.zip'; $zip_subfolder = 'Webshare_Fichiers'; function saveScandir($ad_dir,$path) { global $all,$zipfile; if ($handle = opendir($ad_dir)) { while (false !== ($file = readdir($handle))) { if (!is_dir("$ad_dir/$file")) { if (preg_match($_SESSION["ws"]["varsUser"], $file)==0) { $f_tmp = _AT_fopen($ad_dir . '/' . $file, 'r'); if($f_tmp){ $dump_buffer=fread( $f_tmp, filesize($ad_dir . '/' . $file)); $zipfile -> addFile($dump_buffer, convCar(utf8_encode($path . (!empty($path)?'/':'') . $file))); fclose($f_tmp); } } } else { if ((preg_match($_SESSION["ws"]["varsUser"], $file)==0)&&($all==1)) { saveScandir($ad_dir . '/' . $file, $path . (!empty($path)?'/':'') . $file); } } } } } saveScandir(blindeChemin($chemin),""); $dump_buffer = $zipfile -> file(); header('Pragma: public'); header('Content-type: application/zip;'); header('Content-length: ' . strlen($dump_buffer)); header('Content-Disposition: attachment; filename="'.str_replace(" ","",urldecode($zipfilename)).'"'); flush(); $tabLog= array("14","1",$_SESSION["ws"]["dia"]["savingDirContent"].$_SESSION["ws"]["dossierActif"],$_SESSION["ws"]["nomUser"],$_SESSION["ws"]["dossierActif"],$zipfilename,""); $l_mysql->logAction($tabLog); $l_mysql->disconnect(); echo $dump_buffer; }?> P.S : le serveur est sur php 5, je me demande si le bug ne viendrait pas de la limite dexécution des scripts.... Lien vers le commentaire Partager sur d’autres sites More sharing options...
destroyedlolo Posté 4 Mai 2011 Partager Posté 4 Mai 2011 C'est ce que j'allais te proposer : verifie dans ton php.ini la duree maxi d'execution des scripts. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant