Webmaster Hub: Script Php de téléchargement - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Script Php de téléchargement bug sur dll gros fichiers Noter : -----

#1 L'utilisateur est hors-ligne   leditvalentin 

  • Groupe : Hubmaster
  • Messages : 119
  • Inscrit(e) : 17-janvier 06
  • Genre:Homme

Posté 04 mai 2011 - 12:23

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 s’arrê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 d’exécution des scripts....
0

#2 L'utilisateur est hors-ligne   destroyedlolo 

  • Groupe : Hubmaster
  • Messages : 792
  • Inscrit(e) : 05-juillet 04
  • Genre:Homme
  • Localisation:Nonglard

Posté 04 mai 2011 - 21:09

C'est ce que j'allais te proposer : verifie dans ton php.ini la duree maxi d'execution des scripts.
Amiga, UNIX, Ubuntu, NetBSD, Sharp, Apache, PHP, Ski, Vacances, Voyages
100 % dictionnary free - 1 mispelling by word
Viendez chez moi
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)