voilà comme je te l'ai dis je sais pas si ça marche mais c'est la base de solution de ton pb
A++++
cs_gasty
Messages postés5Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention31 janvier 2010 13 mars 2008 à 10:32
Bonjour KIWI
Pourquoi r+, mais parce que w+ efface tout.
debutRSS contient "text1" fin RSS contient "text2" et flux RSS contient l'ensemble des entrées du formulaire soit "text".
fluxRSS2 est le fichier final. C'est à dire debutRSS + fluxRSS + finRSS.
Hors, debutRSS m'écrase fluxRSS sur le nombre de caractères qu'il contient provoquant une erreur. J'ai trouvé comme solution de mettre l'équivalent en espace au debut de fluxRSS afin de résoudre le problème mais je pense qu'il y a mieux. Oui! Je sais ton bout de code... mais pour finir ce programme que je pense interessant et à l'auteur dont je lui suggere d'en faire une version N°2 avec ce complèment car je suis sûr qu'un bon nombres peuvent etre interessés par la simplicité d'installation. Et de conserver l'ensemble des entrées du formulaire sans un effacement systematique des précedentes.
kiwi1nut
Messages postés29Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention13 mars 2008 12 mars 2008 à 22:41
pourquoi r+???
c'est w+...
Mais franchement si tu veux un bon flux rss il y a des super script qui utilisent mysql sur codes sources. Là je reconnais que ce code est vraiment galère...
Bref dans ton code c'est vraiment le bazar...pourquoi tu mets $text1?
et c'est quoi debutrss et fin rss?? et pourquoi $handle11 puis $handle22??
Désolé mais ton code c'est du charabia...
ensuite tu te connecte a ta base
et tu extraits
while($row= mysql_fetch_array($res)){
$titre=$row["tag"];
$adresse=$row["url"];
$contenu=$row["titre"];
$mydate=$row["date"];
$datephp=date("D, d M Y H:i:s +0100", strtotime($mydate));
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
//-------------------------------------------------
$handle11 = fopen($cfg11,"r+"); // debutRSS
fseek($handle11,-255,SEEK_CUR);
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
//*************************************************
unlink("debutRSS.xml");
unlink("finRSS.xml");
//*****************************************************
echo "
";
echo "Retour";
echo "
";
?>
cs_gasty
Messages postés5Date d'inscriptionjeudi 13 mars 2003StatutMembreDernière intervention31 janvier 2010 12 mars 2008 à 14:10
Il y a un truc qui me prend la tête, je ne suis pas un pro du PHP. Comme j'ai pratiquement fini de modifier ce programme afin qu'il soit véritablement utilisable pour faire un vrai RSS ...Lorque j'utilise r+ la partie déjà existante du fichier est ecrasé sur les premières lignes , je n'arrive pas.
cs_guigui71
Messages postés3Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 7 mars 2008 7 mars 2008 à 15:46
je le place ou ce petit bout de code?
Merci pour l'aide.
kiwi1nut
Messages postés29Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention13 mars 2008 7 mars 2008 à 15:16
cs_guigui71
Messages postés3Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 7 mars 2008 7 mars 2008 à 13:35
C'est à dire?
"fputs" il faut modifier quoi?
kiwi1nut
Messages postés29Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention13 mars 2008 7 mars 2008 à 12:37
Ben en fait d'expérience, plutôt passer par une base de donnée c'est quand même plus pratique mais au cas ou passe par fputs
cs_guigui71
Messages postés3Date d'inscriptionvendredi 18 mars 2005StatutMembreDernière intervention 7 mars 2008 7 mars 2008 à 11:10
Comment modifier le script pour créer plusieurs Items à la suite?
cs_ben05
Messages postés37Date d'inscriptionvendredi 14 avril 2006StatutMembreDernière intervention 4 février 2009 11 janv. 2007 à 17:34
Salut,
Merci pour ton commentaire. Bien entendu c'est possible avec une base de donnée, mais le bit était de le faire sans.
Car il y a beaucoup de personne non expérimenté comme moi, qui n'aime pas trop utiliser les bases de donnée.
Donc au lieu de forcer tout le monde à utiliser des bases de données, je préfère proposer une alternative.
Donc à tout ce qui ne savent pas trop utiliser une base de donnée, ou ne peuvent en disposer chez leur hébergeur... vous pourrez utiliser cette source sans base de donnée !!!
kiwi1nut
Messages postés29Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention13 mars 2008 11 janv. 2007 à 12:44
ensuite tu te connecte a ta base
et tu extrait
while($row= mysql_fetch_array($res)){
$titre=$row["tag"];
$adresse=$row["url"];
$contenu=$row["titre"];
$mydate=$row["date"];
$datephp=date("D, d M Y H:i:s +0100", strtotime($mydate));
20 nov. 2009 à 15:50
13 mars 2008 à 15:21
a la place de
# $handle = fopen($cfg['file_to_edit'],"w");
# fwrite($handle, stripslashes($text));
essaie
$path= cfg['file_to_edit'];
if(file_exists($path']))
{
$handle = fopen($path,"r");
$content = file($path);
fclose($handle);
}
$handle = fopen($path,"w");
for($i=0;$i < count($content); $i++)
{
if(($content[$i] != "")&&($content[$i] != "\r\n"))
fwrite($handle,$content[$i]);
}
$str_out = stripslashes($text);
fwrite($handle,$str_out);
fclose($handle);
voilà comme je te l'ai dis je sais pas si ça marche mais c'est la base de solution de ton pb
A++++
13 mars 2008 à 10:32
Pourquoi r+, mais parce que w+ efface tout.
debutRSS contient "text1" fin RSS contient "text2" et flux RSS contient l'ensemble des entrées du formulaire soit "text".
fluxRSS2 est le fichier final. C'est à dire debutRSS + fluxRSS + finRSS.
Hors, debutRSS m'écrase fluxRSS sur le nombre de caractères qu'il contient provoquant une erreur. J'ai trouvé comme solution de mettre l'équivalent en espace au debut de fluxRSS afin de résoudre le problème mais je pense qu'il y a mieux. Oui! Je sais ton bout de code... mais pour finir ce programme que je pense interessant et à l'auteur dont je lui suggere d'en faire une version N°2 avec ce complèment car je suis sûr qu'un bon nombres peuvent etre interessés par la simplicité d'installation. Et de conserver l'ensemble des entrées du formulaire sans un effacement systematique des précedentes.
12 mars 2008 à 22:41
c'est w+...
Mais franchement si tu veux un bon flux rss il y a des super script qui utilisent mysql sur codes sources. Là je reconnais que ce code est vraiment galère...
Bref dans ton code c'est vraiment le bazar...pourquoi tu mets $text1?
et c'est quoi debutrss et fin rss?? et pourquoi $handle11 puis $handle22??
Désolé mais ton code c'est du charabia...
regarde ce que j'avais déjà posté
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>ton titre</title>';
$xml .= '<link>url de ton site</link>';
$xml .= '<description>description de ton site</description>';
$xml .= '<copyright>© ton site</copyright>';
$xml .= '<language>fr</language>';
ensuite tu te connecte a ta base
et tu extraits
while($row= mysql_fetch_array($res)){
$titre=$row["tag"];
$adresse=$row["url"];
$contenu=$row["titre"];
$mydate=$row["date"];
$datephp=date("D, d M Y H:i:s +0100", strtotime($mydate));
$xml .= '';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= ''.$datephp.'
';
$xml .= '<description>'.$titre.'</description>';
$xml .= '';
}
$xml .= '</channel>';
$xml .= '</rss>';
$fp = fopen("fluxrss.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
si tu as base de db tu changes les variables par celle mises dans la source...
12 mars 2008 à 14:14
<?php
// Configuration
unlink("fluxRSS2.xml"); // supprime fichier
$cfg = "fluxRSS.xml"; // fluxRSS de transition
$cfg1 = "fluxRSS2.xml";// fluxRSS2 l'original de fin
$cfg2 = "editer_RSS.php";
//****************************
$cfg11= "debutRSS.xml";
$cfg22= "finRSS.xml";
//*****************************
$titresite = "GastyVox" ;
$linksite = "http://agastine.club.fr/WebRueduGastyVox2/index.htm" ;
$descriptionsite = "Le bistrot à Gasty" ;
$langue = "fr" ;
$copyright = "Copyright ASGSYSTM" ;
$titreimage = "Nom IMAGE RSS" ;
$urlimage = "http://agastine.club.fr/WebRueduGastyVox2/minigasty.jpg" ;
$xml = "<?xml version="1.0" encoding="ISO-8859-1" ?>";
$titre = stripslashes($_POST['titre']) ;
$description = stripslashes($_POST['description']) ;
$linkarticle = $_POST['linkarticle'] ;
$minutes = $_POST['minutes'] ;
$day = $_POST['day'] ;
$auteur = $_POST['auteur'] ;
$jour = $_POST['jour'] ;
$mois = $_POST['mois'] ;
$annee = $_POST['annee'] ;
$heure = $_POST['heure'] ;
$minutes = $_POST['minutes'] ;
$secondes = ":00" ;
//*********************************************************
$text1 = "<?xml version="1.0" encoding="utf-8" ?>\n";
$text1 .= "<rss version="2.0">\n";
$text1 .= "<channel>\n";
$text1 .= "<title>".$titresite."</title>\n";
$text1 .= "<link>".$linksite."</link>\n";
$text1 .= "<description>".$descriptionsite."</description> \n";
//***************************************************************
$text = "\n";
$text .= "<title>".$titre."";
$text .= " - Posté à ";
$text .= "$heure";
$text .= ":$minutes";
$text .= " Le ";
$text .= "$jour";
$text .= "$mois";
$text .= " Par ";
$text .= "$auteur";
$text .= "</title>\n";
$text .= "<link>".$linkarticle."</link>\n";
$text .= "".$day."$jour";
$text .= "$mois";
$text .= "$annee";
$text .= "$heure";
$text .= ":$minutes";
$text .= "$secondes";
$text .= " +0100
\n";
$text .= "<description>".$description."</description>\n";
$text .= "\n";
//***************************************************
$text2 = "</channel>\n";
$text2 .= "</rss>\n";
//****************************************************
$handle = fopen($cfg,"a+"); // fluxRSS de transition
fwrite ($handle, stripslashes($text));
fclose($handle);
//******************************************************
$file = 'fluxRSS.xml';
$newfile = 'debutRSS.xml';
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
//-------------------------------------------------
$handle11 = fopen($cfg11,"r+"); // debutRSS
fseek($handle11,-255,SEEK_CUR);
fwrite($handle11, stripslashes($text1));
fclose($handle11);
//******************************************************
$file = 'debutRSS.xml';
$newfile = 'finRSS.xml';
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
$handle22 = fopen($cfg22,"a+"); // finRSS
fwrite ($handle22, stripslashes($text2));
fclose($handle22);
//******************************************************
$file = 'finRSS.xml';
$newfile = 'fluxRSS2.xml';
if (!copy($file, $newfile)) {
echo "La copie du fichier $file n'a pas réussi...\n";
}
//*************************************************
unlink("debutRSS.xml");
unlink("finRSS.xml");
//*****************************************************
echo "
";
echo "Retour";
echo "
";
?>
12 mars 2008 à 14:10
7 mars 2008 à 15:46
Merci pour l'aide.
7 mars 2008 à 15:16
fopen($cfg['file_to_edit'], "w+");
fputs($handle, stripslashes($text));
fclose($handle);
7 mars 2008 à 13:35
"fputs" il faut modifier quoi?
7 mars 2008 à 12:37
7 mars 2008 à 11:10
11 janv. 2007 à 17:34
Merci pour ton commentaire. Bien entendu c'est possible avec une base de donnée, mais le bit était de le faire sans.
Car il y a beaucoup de personne non expérimenté comme moi, qui n'aime pas trop utiliser les bases de donnée.
Donc au lieu de forcer tout le monde à utiliser des bases de données, je préfère proposer une alternative.
Donc à tout ce qui ne savent pas trop utiliser une base de donnée, ou ne peuvent en disposer chez leur hébergeur... vous pourrez utiliser cette source sans base de donnée !!!
11 janv. 2007 à 12:44
Un truc du genre
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>ton titre</title>';
$xml .= '<link>url de ton site</link>';
$xml .= '<description>description de ton site</description>';
$xml .= '<copyright>© ton site</copyright>';
$xml .= '<language>fr</language>';
ensuite tu te connecte a ta base
et tu extrait
while($row= mysql_fetch_array($res)){
$titre=$row["tag"];
$adresse=$row["url"];
$contenu=$row["titre"];
$mydate=$row["date"];
$datephp=date("D, d M Y H:i:s +0100", strtotime($mydate));
$xml .= '';
$xml .= '<title>'.$titre.'</title>';
$xml .= '<link>'.$adresse.'</link>';
$xml .= ''.$datephp.'
';
$xml .= '<description>'.$titre.'</description>';
$xml .= '';
}
$xml .= '</channel>';
$xml .= '</rss>';
$fp = fopen("fluxrss.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
echo 'flux généré
[fluxrss.xml voir la page]';
et hop
bon allez courage