compression zip - PHP - Programmation
Marsh Posté le 01-03-2005 à 22:21:05
T'es sur que le fichier est bien uploader dans ce dossier là? Ca me parait improbable.
Marsh Posté le 03-03-2005 à 19:08:16
oui, enfin presque. Dans le formulaire, j'ai bien action="compressed.php" et non upload.php
Dans tous les cas, je n'arrive pas à me débarrasser de cette erreur.
Merci
Marsh Posté le 03-03-2005 à 19:34:01
En quoi, le probléme est il différent?
Si le script ne cherche pas le fichier là où il se trouve, il ne risque pas de le trouver.
Marsh Posté le 03-03-2005 à 20:24:36
quand tu fais 'echo $_FILES["uploadfile"]["tmp_name"]', ca te sort /var/www/free.fr/e/c/raoul/phpdXh4M4/ ?
sinon, dans le php.ini tu peux configurer la taille maximum du fichier uploadé. Et je ne sais pas quelle valeur a la priorité entre la valeur du php.ini et la valeur dans ton '<input type="hidden" name="MAX_FILE_SIZE" value="4000000"> '.
Donc je suis vraiment pas sur, mais pitetre ton fichier est trop gros par rapport à ce qui est défini dans le php.ini et ca bug ... mais c'est une hypothèse, pas taper pas taper
Marsh Posté le 03-03-2005 à 20:34:10
Avec la valeur dans le "input", c'est le navigateur qui refusera la validation du formulaire.
Avec la valeur dans le php.ini, le fichier envoyé sera reçu quelle que soit sa taille, mais ensuite, il ne sera pas retransformé en fichier si sa taille dépasse celle indiqué dans le php.ini . Du coup, un fichier trop grand ne sera pas accéssible par un script php, mais son envoie risque de porovoquer un time out du dit script.
Marsh Posté le 03-03-2005 à 23:38:25
Excusez-moi, j'ai du mal m'exprimer.
echo $_FILES["uploadfile"]["tmp_name"] me donne bien : /var/www/free.fr/e/c/raoul/phpdXh4M4
et j'utilise ce formulaire :
<form enctype="multipart/form-data" action="compressed.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000">
<input name="compressfile" type="file" size="50">
<input type="submit" value="Compress" align="absmiddle">
</form>
Marsh Posté le 03-03-2005 à 23:59:47
ton script qui utilise fopen() pour ouvrir le fichier, est-ce bien le script "compressed.php" ? car le fichier uploadé ne persiste dans le répertoire temporaire que le temps du script. Si tu veux l'utiliser sur un autre script il faut le sauvegarder, avec par exemple "move_uploaded_file"
Marsh Posté le 05-03-2005 à 12:29:31
fopen() fait bien parti de mon script "compressed.php"
Mais tu m'as donné une bonne idée : utiliser "move_uploaded_file" afin de déplacer le fichier d'un répertoire temporaire sur un autre répertoire, et là, je ne sais pas trop pourquoi, fopen() s'exécute correctement!
Merci
En revanche, j'ai une nouvelle erreur, la célèbre erreur : "Warning: Cannot modify header information - headers already sent by... " parce que je dois faire appel à la librairie zip :
"require_once('func/zip.lib.php');"
et ensuite l'erreur apparait ici :
// entêtes HTTP
header('Content-Type: application/x-zip');
// force le téléchargement
header('Content-Disposition: inline; filename=archive.zip');"
Comment je pourrais esquiver ces headers?
Merci
Marsh Posté le 05-03-2005 à 12:44:51
j'ai trouvé, c'est plus simple que je le pensais :
il y avait des espaces et lignes vides après le code php de 'zip.lib.php'
Marsh Posté le 17-03-2005 à 08:17:38
Salut,
je suis très interessé par ton fichier compressed.php, est ce que ca ne te dérange pas de le publier ?
merci
Marsh Posté le 17-03-2005 à 08:59:25
En fait j'ai reussi,
J'utilise ce code
Code :
|
Mais je voudrais laisser le fichier zip, et ne pas le faire télécharger.
merci
Marsh Posté le 28-02-2005 à 19:31:48
Salut tout le monde!
Je souhaite écrire un script pour compresser un fichier au format zip.
Pour cela, j'utilise ce formulaire :
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="4000000">
<input name="uploadfile" type="file" size="50">
<input type="submit" value="Upload" align="absmiddle">
</form>
Ainsi, j'ai une fenêtre de navigation, qui permet au client de sélectionner un fichier dans son disque dur. Ensuite, pour compresser le fichier sélectionné, je dois le lire avec la fonction fopen("chemin_complet_du_fichier", "r" )
Seulement, avec l'adresse du fichier sur le serveur avec $_FILES["uploadfile"]["tmp_name"], j'ai cette erreur :
Warning: fopen(): Unable to access /var/www/free.fr/e/c/raoul/phpdXh4M4/CRM.doc in /var/www/free.fr/e/c/raoul/projets/compressed.php on line 10
Comment faire?
Merci