Flux rss en php

Répondre
caporga
le 06/12/2008 à 02:08
caporga
Hi,
voici mon premier code de ma main (sauf fopen();), j'avais besoin de flux rss en php, tout ce que je trouvais ne marché pas.. celui ci si...

cependant j'ai un souci, losque que j'enregistre dans le répertoire tout fonctionne bien.. mais si j'enregistre dans un autre répertoire ou si j'utilise un simple copy(); ça ne me copie que la première ligne ce qui est un peu génant...

auriez vous des idées du pourquoi ça me copie que la première ligne et pas l'ensemble du fichier ?
merci

$connexion = mysql_connect ( DB_SERVER, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME, $connexion);

define('PREFIXE', 'piano_'); // Préfixe de base de données !

//----------------------------- CONNECTION ---------------------------------------------------------
$query_Recordset2000 = "SELECT * FROM ".PREFIXE."rss_infos";
$Recordset2000 = mysql_query($query_Recordset2000, $connexion) or die(mysql_error());
$row_Recordset2000 = mysql_fetch_assoc($Recordset2000);

$query_Recordset2100 = "SELECT * FROM ".PREFIXE."rss";
$Recordset2100 = mysql_query($query_Recordset2100, $connexion) or die(mysql_error());

//-----------------------------------------------------------------------------------------------

$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
$xml .= "<rss version=\"1.0\">";
$xml .= "<channel>";
$xml .= " ";
$xml .= "<title>".$row_Recordset2000['titre']."</title>";
$xml .= "<link>".$row_Recordset2000['lien']."</link>";
$xml .= "<description>".$row_Recordset2000['description']."</description>";

while ($row_Recordset2100 = mysql_fetch_assoc($Recordset2100))
{
$xml .= " ";
$xml .= "<item>";
$xml .= "<title>".$row_Recordset2100['titre']."</title>";
$xml .= "<link>".$row_Recordset2100['lien']."</link>";
$xml .= "<guid isPermaLink=\"true\">".$row_Recordset2100['lien']."</guid>";
$xml .= "<description>".$row_Recordset2100['description']."</description>";
$xml .= "<pubDate>".$row_Recordset2100['date']."</pubDate>";
$xml .= "</item>";
}
$xml .= " ";
$xml .= "</channel>";
$xml .= "</rss>";

//------------------------------ ECRITURE --------------------------------------------
$fp = fopen("rss.xml", "w+");
fputs($fp, $xml);
fclose($fp);
@mysql_close();
caporga
caporga
le 06/12/2008 à 03:00
caporga
je tourne en rond copy(); marche avec des repertoires inférieurs ( repertoire/rss.xml) mais pas dans des répertoires supérieur (../repertoire/rss.xml)

comment fait-on pour enregistrer vers des répertoire supérieurs ?
caporga
LA GLOBULE
le 06/12/2008 à 11:48
LA GLOBULE
Je ne vois aucun copy dans ton code.

Sinon, as tu vérifié les permissions en écriture du dossier vers lequel tu souhaites écrire ?
caporga
le 07/12/2008 à 00:11
caporga
la ligne copy du code est
copy("rss.xml","../rss.xml");



qu'est ce que tu entends par permissions en écriture
caporga
caporga
le 07/12/2008 à 12:32
caporga
je viens de trouver la solution... je la poste.

$dir_tmp = "../../../1_RSS";
mkdir($dir_tmp,0777);
copy("rss.xml","../../../1_RSS/rss.xml");
caporga
LupusMic
le 07/12/2008 à 15:21
LupusMic
Ce n'est pas la solution, c'est un contournement temporaire pour que ça fonctionne. Laisser des fichiers en 0777 est une extrêmement mauvaise idée. Essaye de restreindre un minimum les droits sur le fichier.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
caporga
le 07/12/2008 à 20:40
caporga
et en plus j'ai un autre problème, j'ai un message d'erreur du string introuvable, j'actuallise 3 fois la page ça marche, à rien y comprendre
caporga
Répondre

Ecrire un message

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