2010-08-02 3 views
6

Je suis juste au début d'essayer d'écrire du code PHP pour fonctionner sur une machine Linux sur un serveur EC2 qui va lire les fichiers de mon seau S3, les compresser puis réécrire le fichier zip dans le seau.PHP ZipArchive que signifient les valeurs de statut?

J'ai déjà eu des problèmes avec la création d'une simple archive zip à partir de certaines images sur le disque local de l'instance EC2, j'utilise un script pour tester l'idée du manuel PHP en ligne et j'ai aussi essayé un script de David Walsh - http://davidwalsh.name/create-zip-php qui a l'air d'être génial. Aucun de ces résultats dans un fichier zip réel et les deux me donnent des résultats différents d'état -

le premier extrait du manuel php (auquel j'ajoute la variable thisdir de $) -

<?php 
$zip = new ZipArchive(); 
$filename = "test112.zip"; 
$thisdir = "/uploads/"; 
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) { 
    exit("cannot open <$filename>\n"); 
}  
$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt.\n"); 
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt.\n"); 
$zip->addFile($thisdir . "/too.php","/testfromfile.php"); 
echo "numfiles: " . $zip->numFiles . "\n"; 
echo "status:" . $zip->status . "\n"; 
$zip->close(); 
?> 

sortie =

numFiles: 2 statut: 11

Je ne vois pas un fichier zip dans mon dossier 'upload'

Le deuxième morceau de code i essayer (je ne vais pas poster le code ici) - Je passe des fichiers réels et il retourne

L'archive zip contient 2 fichiers avec un état de 0

Quels sont les messages d'état. J'ai vérifié pour voir si j'ai les bibliothèques correctes installées en regardant la sortie de phpinfo(); et sous le titre postal je vois -

Zip a permis
Version Extension $ Id: php_zip.c, v 1.1.2.43 2008/01/18 00:51:38 pajoye de
$ version Zip 1.8.11
Version libzip 0.8.0 compatible

J'ai vérifié les permissions des fichiers fichiers PHP avec le code que je exécution et ils sont mis à 777 comme cela est le dossier que je suis en train d'ajouter le zipArchive à. Je sais que cela ne devrait pas rester à 777.

des idées pourquoi je ne peux pas voir un fichier zip? que signifient les valeurs de statut? Existe-t-il un bon didacticiel pour utiliser PHP pour compresser des fichiers sur un compartiment Amazon S3? ou un bon utilitaire pour fournir cette fonctionnalité?

acclamations

+0

Avez-vous résolu le problème? Si oui, pourriez-vous expliquer comment? J'ai les mêmes problèmes ... –

Répondre

12

Vous pouvez le trouver ici: http://www.php.net/manual/en/zip.constants.php

Erreur 11 est « Impossible d'ouvrir le fichier »

+1

Je reçois un code staus 0, toujours mon dossier de destination n'affiche pas le fichier créé. Je l'utilise sur mon LocalHost. –

1

Dans mon cas, je suis arrivé code d'erreur 11 lors de l'ouverture d'un fichier zip pour la lecture . Le chemin et les autorisations sont OK. Je viens de changer le SÉPARATEUR DE RÉSEAU de la barre oblique inverse (\) à la barre oblique (/) et cela a fonctionné. La chose étrange est que les chemins de barre oblique (/) sont dans Linux où je travaille dans Windows Server 2003.

Questions connexes