Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-08-2010 00:18:20

Jessica
Membre
Date d'inscription: 03-08-2010
Messages: 27

Help!

Salut tout le monde,

j'ai besoin de chercher une chaine de caractère dans un fichier ,pour cela je mets le code suivant dans mon controlleur:

$date=$this->_getParam('date');
$result=shell_exec('grep "$date"  info.log');

Cependant ,j'obtiens comme résultat tout le fichier comme s'il était une seule chaine de caractère .
Par contre ,lorsque je mets $result=shell_exec('grep "Jun 19 05:22:58"  info.log');j'obtients la ligne exacte!!

Merci à l'avance pour vos réponses.

Hors ligne

 

#2 08-08-2010 03:14:05

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Help!

Et si tu vire les quote autour de $date ça donne quoi?

Hors ligne

 

#3 08-08-2010 08:28:35

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: Help!

Pour t'aider, il suffit d'un echo :

Code:

echo 'grep "$date"  info.log'; // affiche : grep "$date"  info.log

Une variable PHP ne peut pas être interprétée dans une chaîne de caractères définies par des simples quotes. Cela ne fonctionne que pour des doubles quotes ou une concaténation.

Code:

$result = shell_exec("grep '$date' info.log");
// ou bien
$result = shell_exec('grep "' . $date . '" info.log');

Dernière modification par Intiilapa (08-08-2010 08:30:54)

Hors ligne

 

#4 08-08-2010 10:41:00

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Help!

pas glop d'utiliser shell_exec

A+JYT

Hors ligne

 

#5 08-08-2010 12:08:01

Jessica
Membre
Date d'inscription: 03-08-2010
Messages: 27

Re: Help!

Merci beacoup Intiilapa, ça marche maintenant
Merci à tout le monde

Hors ligne

 

#6 08-08-2010 15:57:01

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Help!

la même chose indépendamment se la machine (pas de shell)

Code:

if (preg_match_all ('/(^.*'.$date.'.*)$/', file_get_contents('info.log'), $results)) {
print_r($results);
}

le contenu de l'expression te permet de capturer exactement la partie de la ligne que tu veux

http://fr.php.net/manual/fr/reference.p … syntax.php

http://www.php.net/manual/fr/function.p … ch-all.php


A+JYT

Hors ligne

 

#7 09-08-2010 04:43:12

Jessica
Membre
Date d'inscription: 03-08-2010
Messages: 27

Re: Help!

Salut,
J'ai une autre question concernant toujours shell_exec:
est ce qu'on peut  rediriger les sorties des commandes vers des fichiers textes?
car j'ai essayé le code suivant mais j'obtiens rien dans le fichier:
shell_exec('df > sortie.txt').
Merci à l'avance pour vos réponses.

Hors ligne

 

#8 09-08-2010 09:45:38

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: Help!

shell_exec renvoie ce qui est affiché, donc tu devrais écrire:
$sortie_txt = shell_exec('df');

Hors ligne

 

#9 09-08-2010 12:53:32

Jessica
Membre
Date d'inscription: 03-08-2010
Messages: 27

Re: Help!

oui ,mais moi je veux que la sortie de 'df' soit écrite dans le fichier sortie.txt.et meme si je fais
$sortie_txt = shell_exec('df > sortie.txt'); ça marche pas!!

Hors ligne

 

#10 09-08-2010 16:33:06

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: Help!

Si $sortie_txt contient bien la sortie de df (ce qui devrait être le cas, mais je n'ai pas testé), alors il suffit d'écrire le contenu dans un fichier avec un commande du genre:
file_put_contents ( 'sortie.txt' , $sortie_txt);

Hors ligne

 

#11 09-08-2010 17:29:22

Jessica
Membre
Date d'inscription: 03-08-2010
Messages: 27

Re: Help!

Je l'ai testé ,j'obtiens l'erreur :
Warning: file_put_contents(sortie.txt): failed to open stream: Permission denied in /var/www/MyZendwebapp1/application/controllers/ServeurController.php on line 25
Je suis entrain de chercher la cause de cette erreur,si qq a une idée ??

Hors ligne

 

#12 09-08-2010 17:33:58

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: Help!

Il faut choisir un répertoire dans lequel php a le droit d'écrire. /tmp devrait fonctionner.
ex: file_put_contents ( '/tmp/sortie.txt' , $sortie_txt);

Hors ligne

 

#13 11-04-2012 12:17:47

belle-vie
Membre
Date d'inscription: 04-04-2012
Messages: 32

Re: Help!

à part le controleur il faut mettre quoi d'autre dans le view ?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages