Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2333 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  file() ou file_get_contents() en safe mode

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

file() ou file_get_contents() en safe mode

n°1351118
channot77
Posté le 21-04-2006 à 12:21:07  profilanswer
 

Bonjour,
 
Voila mon problème : mon nouvel hébergeur est en safe mode  :(  
Les fonctions que j'utilisais : file() ou file_get_contents() ne marche plus.
Ces fonctions me servait à récupérer le code html d'une page web dans une variable.
Voila mon script :

Citation :

$html = file_get_contents("http://.../page.asp?variable=1234567" );


ou

Citation :

$html = implode("", file("http://.../page.asp?variable=1234567" ));


Il faudrait que je trouve un script qui marche en safe mode.
Quelqu'un pourrait-il m'aider à résoudre mon problème?


Message édité par channot77 le 21-04-2006 à 12:22:33
mood
Publicité
Posté le 21-04-2006 à 12:21:07  profilanswer
 

n°1351166
nargy
Posté le 21-04-2006 à 13:13:47  profilanswer
 

Utilise un script Perl.

n°1351184
channot77
Posté le 21-04-2006 à 13:26:58  profilanswer
 

nargy a écrit :

Utilise un script Perl.


Je ne connais pas du tout ce langage. Es tu sur que ce langage résoudrait mon problème? Est ce que c'est facile à mettre en place?

n°1351196
nargy
Posté le 21-04-2006 à 13:36:28  profilanswer
 
n°1351203
channot77
Posté le 21-04-2006 à 13:44:20  profilanswer
 

OK et merci  :)  
 
Si c'est pas trop demandé, pourait on me donner quelques pistes pour ce script en perl car je ne m'y connait vraiment pas.
Merci d'avance  ;)

n°1351206
nargy
Posté le 21-04-2006 à 13:48:53  profilanswer
 

Poste sur la catégorie perl. Mais avant fait une recherche si il y a déjà un problème similaire résolu, lis les tutos qui y sont, et mets en bookmark: http://perl.com/
http://perldoc.com/

n°1351259
channot77
Posté le 21-04-2006 à 14:29:56  profilanswer
 

Tu sais comment on integre le perl dans un script php?

n°1351291
nargy
Posté le 21-04-2006 à 14:54:42  profilanswer
 

Tu fait simplement ta page en perl, si ton hébergeur accepte perl.

n°1351298
channot77
Posté le 21-04-2006 à 15:00:12  profilanswer
 

nargy a écrit :

Tu fait simplement ta page en perl, si ton hébergeur accepte perl.


Mon hebergeur integre un repertoire CGI-BIN. Ca va?

n°1351299
nargy
Posté le 21-04-2006 à 15:07:43  profilanswer
 

moui... si tu mets l'extension .pl elle seront prisent comme du perl. sinon avec cgi-bin, tu peut utiliser d'autre languages que perl. c'est quoi ton hébergeur?

mood
Publicité
Posté le 21-04-2006 à 15:07:43  profilanswer
 

n°1351300
channot77
Posté le 21-04-2006 à 15:08:42  profilanswer
 

nargy a écrit :

moui... si tu mets l'extension .pl elle seront prisent comme du perl. sinon avec cgi-bin, tu peut utiliser d'autre languages que perl. c'est quoi ton hébergeur?


rapidomaine

n°1351354
channot77
Posté le 21-04-2006 à 16:06:46  profilanswer
 

J'ai posté un message dans la rubrique perl et on m'a proposé ce script :

Code :
  1. perl -MLWP::Simple -e 'print get shift' http://www.tonsite.com


Mais je ne sais pas comment j'insere ce code dans mon script php ni comment je peux récupérer ma variable pour que je puisse ensuite la traiter en php.  

n°1351388
nargy
Posté le 21-04-2006 à 16:45:32  profilanswer
 

bon, tu va pas t'en sortir, essaye en PHP avec fsockopen()
PS: t'a pas de moyen plus simple, comme faire un include?

n°1351404
nargy
Posté le 21-04-2006 à 16:54:21  profilanswer
 

tu ouvre un connexion TCP avec fsockopen(), puis tu envoie une fausse requête HTTP:


GET /path/file.ext HTTP/1.1
 


le serveur te renvoie la page:


Host: blabla
Server: blabla
Content-type: blabla
blabla: blabla
 
<html><body>...</body></html>


puis tu ferme la connexion.
Note: le séparateur est "\n" pour le header HTTP.

n°1351411
channot77
Posté le 21-04-2006 à 16:57:34  profilanswer
 

nargy a écrit :

bon, tu va pas t'en sortir, essaye en PHP avec fsockopen()


Tu sais comment on parametre cette fonction?

n°1351418
nargy
Posté le 21-04-2006 à 17:05:00  profilanswer
 

il y a des exemples sur php.net

n°1351563
channot77
Posté le 21-04-2006 à 20:00:48  profilanswer
 

G trouver un truc ki marche :

Code :
  1. function get_content($url)
  2. {
  3.    $ch = curl_init();
  4.    curl_setopt ($ch, CURLOPT_URL, $url);
  5.    curl_setopt ($ch, CURLOPT_HEADER, 0);
  6.    ob_start();
  7.    curl_exec ($ch);
  8.    curl_close ($ch);
  9.    $string = ob_get_contents();
  10.    ob_end_clean();
  11.  
  12.    return $string;   
  13. }


 

n°1351565
channot77
Posté le 21-04-2006 à 20:04:02  profilanswer
 

Seul petit problème : Si l'url est erroné la variable contient tout de meme le code de la page d'erreur.
Je préférerait pouvoir tester si l'url est bonne et dans le cas ou elle est mauvaise renvoyer 'false'?


Message édité par channot77 le 21-04-2006 à 20:11:35
n°1351586
nargy
Posté le 21-04-2006 à 20:50:40  profilanswer
 

ah bravo, j'avais pas du tout pensé à CURL (c'est traditionnellement module facultatif de PHP). À retenir.
 
> Je préférerait pouvoir tester si l'url est bonne et dans le cas ou elle est mauvaise renvoyer 'false'?
http://curl.haxx.se/libcurl/c/libcurl-errors.html

n°1351598
channot77
Posté le 21-04-2006 à 21:37:50  profilanswer
 

En fait mon problème c que si je met une url bidon la fonction va me renvoyer le code html de la page d'erreur (normal puisque l'url pointe sur aucun fichier existant). Donc dans tous les cas la fonction renvoit le contenu d'une page (une page reel ou une page d'erreur). Moi j'aimerais que la fonction renvoi un booleen pour dire si la page renvoyée est une page d'erreur ou non.

n°1351609
nargy
Posté le 21-04-2006 à 22:27:55  profilanswer
 

Stp, prends le temps de lire les liens que je te donne:

Citation :


CURLE_HTTP_RETURNED_ERROR (22)
 
This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is >= 400.


c'est le code d'erreur retourné par curl quand la page n'est pas retournéee avec un code d'erreur 400 (OK)
 
voir http://php.net/ pour d'autres infos, et des exemples.

n°1351635
channot77
Posté le 21-04-2006 à 23:32:08  profilanswer
 

Excuse j'avais pa piger le system des codes d'erreur.
Je crois que cette fois ci le problème est résolu.
Merci à tous!!!  ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  file() ou file_get_contents() en safe mode

 

Sujets relatifs
[C / Unix] Recuperer un evenement clavier en mode consoleProblème pour récupérer le champ texte d'une input type file
upload de fichier mais : SAFE MODE Restriction in effect.File et tableau de record
[Batch File] Problème d'espaceSafe Mode - Creation de dossier
Probleme pour implementer une file en ada[C] Producteur/Consommateur avec file de messages et signaux
Plus de sujets relatifs à : file() ou file_get_contents() en safe mode


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR