executer un commande shell dans du php

Répondre
Eljildius
le 13/01/2009 à 08:20
Eljildius
Salut tous le monde !

Voilà je cherche a executer une commande shell dans mon code php aprés quelque recherche j'ai trouver la fonction exec(); .J'ai donc fait quelques tentatives.

<?php    exec('unzip test.zip'); ?>


ca n'a pas marcher je pense que c'est parce que test.zip se trouve dans /var/www .
Normalement quand on veut faire unzip un fichier il faut d'abord aller se placer dans le fichier en faisant cd /var/www et la on peut unzip test.zip. alors j'ai essayé ca :

<?php exec(cd /var/www);
exec('unzip test.zip'); ?>


mais ca marche pas non plus alors est ce que queelqu'un a déjà tenté ce genre de truc et sait comment on doit s'y prendre.
Eljildius
le 13/01/2009 à 08:45
Eljildius
C'est marrant parce que quand je tape ca :

Archive: /var/www/test.zip
inflating: test.txt

Ce qui veut normalement dire que ca a bien marché seleument mon test.txt est introuvable normalement il apparé dans /var/www ?
Eljildius
le 14/01/2009 à 11:06
Eljildius
ok en faite quand je tape la commande ca marche niquel mais dans mon prog ca marche pas c'est comme si ma ligne n'exité pas.

<?php exec ("unzip /var/www/test.zip"); ?>
LA GLOBULE
le 14/01/2009 à 11:56
LA GLOBULE
Et si tu utilises les deux paramètres optionnels de la fonction exec (output et return_var), tu vois quoi a propos de l'éxecution ?
Eljildius
le 14/01/2009 à 14:42
Eljildius
j'ai rajouté output et return var :

<?php exec ("unzip /var/www/test.zip",$tab,$r);?>


j'ai fait un var_dump de $tab et c'est un tableau d'une seul case et cette seul case contien ca : Archive: /var/www/test.zip.

r qu'en a lui vaut 50.
LA GLOBULE
le 14/01/2009 à 14:50
LA GLOBULE
Bon ben voila, le 50 veut dire que ton disque dur est plein.

Voici ce que dit le man de unzip :
DIAGNOSTICS
The exit status (or error level) approximates the exit codes defined by PKWARE and takes on the following values, except under VMS:
0 normal; no errors or warnings detected.
1 one or more warning errors were encountered, but processing completed successfully anyway. This includes zipfiles where one or more files was skipped due to unsupported compression method or encryption with an unknown password.
2 a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.
3 a severe error in the zipfile format was detected. Processing probably failed immediately.
4 unzip was unable to allocate memory for one or more buffers during program initialization.
5 unzip was unable to allocate memory or unable to obtain a tty to read the decryption password(s).
6 unzip was unable to allocate memory during decompression to disk.
7 unzip was unable to allocate memory during in-memory decompression.
8 [currently not used]
9 the specified zipfiles were not found.
10 invalid options were specified on the command line.
11 no matching files were found.
50 the disk is (or was) full during extraction.
51 the end of the ZIP archive was encountered prematurely.
80 the user aborted unzip prematurely with control-C (or similar)
81 testing or extraction of one or more files failed due to unsupported compression methods or unsupported decryption.
82 no files were found due to bad decryption password(s). (If even one file is successfully processed, however, the exit status is 1.)
Eljildius
le 14/01/2009 à 15:48
Eljildius
c franchement bizard bizard par que en tapant la commande shell directement j'ai pas se probléme enfin bon je vais bien finir par trouver.
Eljildius
le 15/01/2009 à 15:17
Eljildius
J'ai enfin resolu le probléme c'était une affaire de droit sur les fichiers ! Maintenant tous marche bien merci pour votre aide.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours