Results 1 to 8 of 8

Thread: updating xml file with fopen / fwrite

  1. #1
    Join Date
    May 2005

    updating xml file with fopen / fwrite


    I'm trying to get my site to automatically update the rss feed when I add news through my "add news" form. Currently the news gets added to the database fine, but it fails to update the xml file. It doesn't give me any errors either so I'm finding it difficult to find out what's wrong. Here's the code, i hope someone can help!

    	echo 'You need to fill in all details';
    if (($_FILES['music']['type'] == "audio/mpeg") || ($_FILES['music']['type'] == "application/force-download") || ($_FILES['music']['type'] == "application/octet-stream")) {
    $query="insert into newstable values (NULL,'".$date."','".$title."','".$text."','".$author."','".$music."')";
    	echo 'details were successfully added<br>';
    	echo '<br><a href="addnews.php">Add More News</a>';
    	echo 'there was a problem';
    $query2="select date, title, text, author, music from newstable order by date";
    $body="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version=\"2.0\">
    <description>Electronic Music Producer</description>
    while($row = mysql_fetch_array($result2)) {
    $body .="
    <title> $row[title]</title>
    <link> $row[link]</link>
    <description> $row[text]</description>
    $body .="

  2. #2
    Join Date
    May 2005
    OK so i fixed the problem, it was becuase the xml file didnt have permission rights to be written to. silly me. however, i now have this problem:

    $query2="select date, title, text, author, music from newstable order by date";
    $body="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version=\"2.0\">
    <description>Electronic Music Producer</description>
    while($row = mysql_fetch_array($result2)) {
    $body .="
    if (isset($row['music'])) {
    $body .="
    <enclosure url=".$url.$row['music']."\" type=".$type."/>
    else {
    $body .="</item>";
    $body .="
    The code writes everything to the xml file fine. However, the if/else statment i used is supposed to make sure that the <enclosure> tags are only used when the $row['music'] var has data within it. at the moment, it puts the <enclosure> tags on ever item. what am i doing wrong?!

  3. #3
    Join Date
    Oct 2008
    What is the table's default value for the "music" column.

    Here's another way to write the xml file (doesn't include the "enclosure" node):
    PHP Code:
    $myFile 'rss.xml';
    $xmlw = new XMLWriter;
    if ((
    $xmlw->openURI($myFile)) === false) {
    'Cannot open ' $myFile);
    $xmlw->writeElement('description''Electronic Music Producer');
    while (
    $row mysql_fetch_array($result)) {
    $xmlw->writeElement('link''http://hermes.hud.ac.uk/u0759062/#' $row['title']);
    $xmlw->writeAttribute('url''http://hermes.hud.ac.uk/u0759062/#' $row['music']);

    Last edited by Sodbuster; 03-08-2009 at 03:19 PM. Reason: Removed extraneous line.

  4. #4
    Join Date
    May 2005
    unless a music file has been uploaded via the form on the previous page, there is no value for the "music" column, hence why i thought the isset function would work. but it doesnt seem to

  5. #5
    Join Date
    Mar 2009

    help me

    Hi danz321
    I did the same as u explained using the first piece of code but my page displays nothing. Also, the xml page displays nothing. help me.

    The code is
    mysql_select_db("news", $connection);
    $select = "SELECT * FROM newsstory where active = 0 ORDER BY dtadded DESC LIMIT 5";
    $query = mysql_query($select) or die(mysql_error());

    $body="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version='2.0' >
    <description>Electronic Music Producer</description>
    while($row = mysql_fetch_array($query)) {
    $body .="
    $body .="</item>";
    $body .="

    $file = fopen("rss/sss.xml", "w");

  6. #6
    Join Date
    Mar 2009

    help me

    Hi everybody,
    when i tried the above code and it gave the following error:

    The XML page cannot be displayed
    Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


    XML document must have a top level element. Error processing resource 'http://www1.indstate.edu/news/rss/sss.php'.
    and the style sheet xsl is
    <?xml version='1.0' encoding='UTF-8'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xslutput method="html"/>
    <xsl:variable name="title" select="/rss/channel/title"/>
    <xsl:template match="/">
    <a name="top"></a>
    <a href="http://www.indstate.edu"><img src="ISU-print-logo.gif" alt="Indiana State University" border="0" width="173" height="52"></img></a>
    <h3 font-family="Arial"><font size="+3" color="#0053af">ISU News RSS Feed</font></h3>

    <!-- first table-->

    <fieldset style="width:600px; margin:20">
    <legend><font size="4" color="#8ca77a"><b> What is this page?</b></font></legend>
    <tr bgcolor="#e4e9ee"><th align="left">
    <p>This is a RSS feed from the ISU News website. RSS feeds allow you to stay up to date with the latest news and features you want from ISU News.</p>
    <p>To subscribe to it, you will need a News Reader or other similar device. If you would like to use this feed to display ISU News content on your site, <a href="http://indstate.edu/news/rss/"><b><font color="#406480">please go here.</font></b></a></p>

    <!--second table-->

    <fieldset style="width:800px; margin:20">
    <font size="4" color="#8ca77a"><b>Latest content available from this feed</b>



    <!--template matching-->

    <xsl:template match="channel">
    <p><a href="{link}" class="title">
    <xsl:apply-templates select="title"/></a>
    <xsl:apply-templates select="item"/></p>

    <xsl:template match="item">
    <p><a href="{link}" class="title">
    <xsl:apply-templates select="title"/></a>
    <xsl:apply-templates select="description"/></p>

    <xsl:template match="title">
    <span style="color:#406480">
    <span style="font-size:16px">
    <span style="font-weight:bold">
    <span style="text-decoration: none">
    <span style="border-bottom: 1px dotted #A0B6DE">

    <xsl:value-of select="."/>

    </span></span></span></span></span><br />

    <xsl:template match="description">
    <span style="color:#444444">
    <span style="font-size:13 px">
    <span style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif">

    <xsl:value-of select="."/>
    </span></span></span><br />


    Any help is greatly appreciated. Thank you.
    Last edited by sweety; 03-18-2009 at 06:28 PM. Reason: spelling error

  7. #7
    Join Date
    Aug 2004
    Please use [php]...[/php] tags around your code samples if you want us to take the time to read it.
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  8. #8
    Join Date
    Mar 2009


    I used tags aroung my code. but while pasting I did not include them. Now my code runs and gives the above xml error.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.10906 seconds
  • Memory Usage 2,946KB
  • Queries Executed 15 (?)
More Information
Template Usage (34):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (2)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (8)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (73):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates