ok sous php4 mais pas sous php5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ok sous php4 mais pas sous php5

Re: ok sous php4 mais pas sous php5

par stealth35 » 20 mai 2010, 14:44

en php5 juste ça suffirai
$xml = simplexml_load_file('http://www.nord-cinema.com/rss.php');
	
foreach($xml->channel->item as $item)
{
    echo "<div class='cinema'><a href=\"{$item->url}\"><img width=\"100\" border=\"0\" src=\"{$item->image}\" alt=\"{$item->title}\" class=\"brd10pxgauche\"></a>";
    echo "<a href=\"{$item->url}\">{$item->title}</a><br/>{$item->description}</div>";
}

Re: ok sous php4 mais pas sous php5

par stealth35 » 20 mai 2010, 11:41

+1 stopher
URL file-access is disabled in the server configuration

Re: ok sous php4 mais pas sous php5

par stopher » 20 mai 2010, 11:39

Bon ,
d'apres le message d'erreur , c'est fopen qui ne renvoi pas une ressource valide ...

Peut être que ton hebergement , à mis l'option :

allow_url_fopen = 0

Ce qui t'interdit les destinations extérieures au serveur avec fopen ...

En local , sur ton poste , avec php5 ca fonctionne ?

http://www.php.documentation.givah.net/ ... -url-fopen

Ch.

Re: ok sous php4 mais pas sous php5

par fabrice88250 » 20 mai 2010, 11:35

j'ai essayé avec le htacces et du coup plus dutout de site :
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
en ajoutant les ligne au dessus de mon script j'ai maintenant ces erreurs....
Warning: feof(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 155
Notice: Undefined variable: raw in /homepages/36/d329215578/htdocs/cinema.php on line 155
Warning: feof(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 155
Bon je fais des effort pour passé en php5 mais quand on voit le nombre de probléme que l'on peut avoir c'est decouragant surtout quand lememe code fonctionne sous php4.... apparement qui peut le plus ne peut pas le moins en php ! :x

Re: ok sous php4 mais pas sous php5

par stealth35 » 20 mai 2010, 11:13

je n'ai pas acces au php.ini je suis chez 1and1
en haut de ton script tu fais
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);

voir mieux tu crées un .htaccess avec

Code : Tout sélectionner

php_flag display_errors on php_value error_reporting 32767

Re: ok sous php4 mais pas sous php5

par fabrice88250 » 20 mai 2010, 11:09

je n'ai pas acces au php.ini je suis chez 1and1

en retirant les @ j'ai ces messages d'erreur :
Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /homepages/36/d329215578/htdocs/cinema.php on line 151

Warning: fopen(http://www.nord-cinema.com/rss.php) [function.fopen]: failed to open stream: no suitable wrapper could be found in /homepages/36/d329215578/htdocs/cinema.php on line 151

Warning: feof(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 152

Warning: fgets(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 152

Re: ok sous php4 mais pas sous php5

par stealth35 » 20 mai 2010, 10:18

surprime tout les @ et verifie que ta gestion des erreurs soit activé et au au niveau maximum
dans ton php.ini

Code : Tout sélectionner

display_errors = On error_reporting = E_ALL | E_STRICT
apres tu peux utilisé file_get_contents c'est plus simple, et d'ailleur pour parser ton html c'est déconseiller d'utiliser des expressions régulière, utilise DomDocument :wink:

Re: ok sous php4 mais pas sous php5

par fabrice88250 » 20 mai 2010, 09:24

moi je suis sous PHP Version 5.2.13 mais je ne comprend pas pourquoi si je me remet en php4 le script fonctionne.
mon erreur est bien la suivante (en plus elle se repete indefiniment on dirait)
Warning: feof(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 152

Re: ok sous php4 mais pas sous php5

par Nours312 » 20 mai 2010, 09:19

as tu essayé de virer @ avant le fopen() ? pour voir si il ne déclenche pas une erreur lui aussi !?

EDIT : (la doc)
<?php
// if file can not be read or doesn't exist fopen function returns FALSE
$file = @fopen("no_such_file", "r");

// FALSE from fopen will issue warning and result in infinite loop here
while (!feof($file)) {
}

fclose($file);
?>

Re: ok sous php4 mais pas sous php5

par stopher » 20 mai 2010, 09:18

Ba je suis sous php5.3 ,

Et si ce n'est les maeesages m'indiquant que eregi() est obsoléte ( je te conseil de le remplacer par preg_match() :wink: ) , et bien , je n'ai aucune autre erreur ..

:?

Re: ok sous php4 mais pas sous php5

par fabrice88250 » 20 mai 2010, 09:07

Arf en fait je voulais mettre en gras la ligne dans le code afin de vous montrer l'endroit ou sa bug. la balise span n'avait pas lieu d'être. (je l'ai supprimé dans mon 1er poste)

mon probléme est toujours le même du coup, sous php 4 j'ai bien l'affichage mais pas sous php5 (message d'erreur)

Re: ok sous php4 mais pas sous php5

par stopher » 20 mai 2010, 08:59

Slt ,

tu as oublié de fermer / ouvrir les balises php au niveau du span ..

voilà ton code fonctionnel :
<?php
$site = "http://www.nord-cinema.com/rss.php";
$fp = fopen($site,"r");
?>
<span style="font-weight: bold">
       <?php 
       while(!feof($fp)) $raw .= @fgets($fp, 4096);
       ?>
</span>
<?php
fclose($fp);
if( eregi("<item>(.*)</item>", $raw, $rawitems ) ) {
 $items = explode("<item>", $rawitems[0]);
 for( $i = 0; $i < count($items)-1; $i++ ) {
  eregi("<title>(.*)</title>",$items[$i+1], $title );
  eregi("<link>(.*)</link>",$items[$i+1], $url );
  eregi("<image>(.*)</image>",$items[$i+1], $image);
  eregi("<description>(.*)</description>",$items[$i+1], $description);
 $title[1]=utf8_encode($title[1]);
 $description[1]=utf8_encode($description[1]);
  echo "<div class='cinema'><a href=\"".$url[1]."\"><img width=\"100\" border=\"0\" src=\"".$image[1]."\" alt=\"".$title[1]."\" class=\"brd10pxgauche\"></a>";
  echo "<a href=\"".$url[1]."\">".$title[1]."</a><br/>".$description[1]."</div>";
 }
}
?>


Résultat :

Image

Uploaded with ImageShack.us

ok sous php4 mais pas sous php5

par fabrice88250 » 20 mai 2010, 08:50

Bonjour,
j'ai un soucis avec un script qui m'affiche les sorties ciné sur mon site.
si le serveur est configuré en php 4 le script fonction mais si il est en php5 j'ai cette erreur :
Warning: feof(): supplied argument is not a valid stream resource in /homepages/36/d329215578/htdocs/cinema.php on line 152
voilà le bout de script :
<?php
$site = "http://www.nord-cinema.com/rss.php";
$fp = @fopen($site,"r");
while(!feof($fp)) $raw .= @fgets($fp, 4096);
fclose($fp);
if( eregi("<item>(.*)</item>", $raw, $rawitems ) ) {
 $items = explode("<item>", $rawitems[0]);
 for( $i = 0; $i < count($items)-1; $i++ ) {
  eregi("<title>(.*)</title>",$items[$i+1], $title );
  eregi("<link>(.*)</link>",$items[$i+1], $url );
  eregi("<image>(.*)</image>",$items[$i+1], $image);
  eregi("<description>(.*)</description>",$items[$i+1], $description);
 $title[1]=utf8_encode($title[1]);
 $description[1]=utf8_encode($description[1]);
  echo "<div class='cinema'><a href=\"".$url[1]."\"><img width=\"100\" border=\"0\" src=\"".$image[1]."\" alt=\"".$title[1]."\" class=\"brd10pxgauche\"></a>";
  echo "<a href=\"".$url[1]."\">".$title[1]."</a><br/>".$description[1]."</div>";
 }
}
?>