IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

zipArchive erreur code 500


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut zipArchive erreur code 500
    Bonjour à tous !

    Je rencontre un soucis lorsque j'archive des fichiers avec zipArchive.
    Je suis assez limité au niveau des manipulations serveurs à savoir que je ne peux pas voir les messages d'erreur notamment le détail du code 500 qui est retourné.

    Je crée mon archive en scannant tous les fichiers de tous les dossiers d'un répertoire racine.
    Je n'ai pas de soucis lorsqu'il y a une cinquantaine de fichiers mais des que ca commence à monter en nombre je n'arrive plus à gérer mes informations de retour. Pourtant l'archive et parfaitement créée et il ne manque pas un seul fichier dans le zip. Le hic c'est que ca me renvoie donc l'erreur 500 et je ne peux pas fournir le détail de l'archive. De plus l'archive est d'abord créée dans un répertoire temporaire (sur le serveur Apache) et ensuite doit être copiée sur un autre serveur. Malheureusement ca s'arrête avant.
    Voici le code que j'utilise :
    (pour info la version de php est 5.2.13)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    	//Annee en cours pour création du répertoire si inexistant
    	$annee = Date('Y') .'/';
     
    	//Concatenation du chemin avec l'année (emplacement complet des archives de l'annee en cours)
    	$dir = '//autreServeur/Archives/'.$annee;
    	$archiveServeur = $dir.'archives.zip';
    	//Vérification et création du repertoire de l'annee en cours si inexistant
    	if(!is_dir($dir)){
    		if(!mkdir($dir)){
    			print "Erreur - Impossible de créer le répertoire de l'année en cours pour archivage.";
    			exit;
    		}
    	}
     
    	//Emplacement et nom de l'archive créée
    	$archiveFile = '//serveurApache/Temp/archives.zip';
     
    	//Instanciation de l'objet ZIP
    	$ziph = new ZipArchive();
    	$texte = "";
     
    	//Vérification de l'existence de l'archive
    	if(file_exists($archiveFile)){
    		if(!unlink($archiveFile)){
    			print "Erreur - Impossible de supprimer l'archive pour : <b>".$action."</b><br>";
    			exit;
    		}
    	}
     
    	// On cree l'archive dans le repertoire temporaire
    	if($ziph->open($archiveFile, ZIPARCHIVE::OVERWRITE) !== TRUE){
    		print "Erreur - Impossible de créer l'archive : $archiveFile";
    		exit;
    	} else {
     
    		// On lui definit un commentaire avec la date du jour
    		$ziph->setArchiveComment($action);
     
    		// On précise dans un message que l'archive est créée
    		print "Création de l'archive temporaire : <u>$archiveFile</u><br><br>";
    	}
     
    	// Emplacement des fichiers a archiver
    	$repertoire = '//serveurApache/repertoire';
     
    	$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir),RecursiveIteratorIterator::SELF_FIRST);
    	$countFolder = 1;
    	$countFile = 1;
    	foreach($objects as $name => $object){
    		$name = str_replace('\\','/',$name);
    		if(is_dir($name)){
    			$countFolder++;
    		} else {
    			if(!$ziph->addFile($name)){
    				$erreur .= " fichier non archivé : $name <br>";
    			} 
    			$countFile++;
    		}
    	}
     
    	// Une fois Tout ca fait on ferme l'archive
    	$ziph->close();
     
    	// Et on la copie sur le serveur
    	print "Nombre de répertoires : $countFolder <br>Nombre de fichiers : $countFile <br>";
     
    	if(!copy($archiveFile,$archiveServeur)){
    		print "Erreur - Impossible de déplacer l'archive sur le serveur.<br>";
    		exit;
    	} else {
    		print "Archive temporaire déplacée vers <u>$archiveServeur</u><br>";
     
    		// On n'oublie pas de la supprimer du repertoire temporaire
    		if(!unlink($archiveFile)){
    			print " - Impossible de supprimer l'archive temporaire.<br>";
    		}
    	}
     
    	print $texte;
    Auriez vous une idée pour résoudre ce problème ?

    Merci par avance !

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    Bon bah... après avoir demandé au gestionnaire du serveur d'augmenter la taille mémoire utilisée par Apache ça a marché.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [IIS 7.5] Erreur HTTP 500.19, code erreur 0x80070021
    Par a-ternet dans le forum IIS
    Réponses: 2
    Dernier message: 07/06/2017, 14h06
  2. erreur code pour désactiver molette souris.
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 27/09/2005, 10h14
  3. [CR] erreur code de touche incorrect ??
    Par CAPPE dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 09/05/2005, 16h52
  4. [Tomcat] Erreur HTTP 500
    Par gandalf_le_blanc dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/08/2004, 15h26
  5. Réponses: 4
    Dernier message: 09/05/2003, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo