Results 1 to 2 of 2
  1. #1
    Join Date
    Apr 2005
    Posts
    203

    Arrow Unanswered: problem writing dynamic value into text file in php

    Hi all. i have a little problem writing dynamic value to a ram.txt file. I want write the following infor int a text file:
    Code:
    <player showDisplay="yes" showPlaylist="yes" autoStart="yes">
      <song path="http://localhost/flash_mp3_player/mp3/08 - Track 8.mp3" title="tajik" /> 
      <song path="http://localhost/flash_mp3_player/mp3/13 - Gar Aya.mp3" title="gar aya" /> 
      </player>
    The song path for each song id i pass.
    <player showDisplay="yes" showPlaylist="yes" autoStart="yes">
    and
    </player>
    are written once at the start and end of the text file.The title is just the name of song without .mp3 extention.

    Currently when i call the code like this:

    http://localhost/player/ram4.php?sid=1,2,

    the only information which is get written to text file is the url but i want write song path and title in above mention format.

    I be happy if an expert help me here.Thanks

    ram4.php code
    Code:
    <?php
    
    
    $url[1] = "http://localhost/flash_mp3_player/mp3/08 - Track 8.mp3";
    $url[2] = "http://localhost/flash_mp3_player/mp3/13 - Gar Aya.mp3";
    $url[3] = "http://localhost/flash_mp3_player/mp3/Soroush - Yeh Donya - 02 Shoghe Nafas.mp3";
    
    $mycontent = "";
    if (isset($_GET["sid"]))
    {
       $allsid = explode (",",$_GET["sid"]);
       $mycontent = array();
       foreach ($allsid AS $value)
          $mycontent[] = $url[$value];
    }
    
    echo $mycontent;
    
    $handle = fopen ("ram.txt","w+");
    if ($handle)
    {
      if (fwrite ( $handle,implode("\r\n",$mycontent)."\r\n") )
      {
          echo "FILE IS WRITTEN SUCCESSFULLY";
      } else
      {
           echo "ERROR IN WRITING TO FILE";
      }
      fclose ($handle);
    } else
    {
          echo "ERROR IN OPENING FILE";
    }
    require 'config.txt';
    ?>

  2. #2
    Join Date
    Apr 2005
    Location
    Baltimore, MD
    Posts
    297
    implode is going to concatenate all of the items in the array passed in with the string passed in.

    So your code:

    PHP Code:
      foreach ($allsid AS $value)
          
    $mycontent[] = $url[$value];

    //...code continues
    if (fwrite $handle,implode("\r\n",$mycontent)."\r\n") )
    //...code continues

    /*
    $mycontent now looks something like:
       $mycontent[1] = "http://localhost/flash_mp3_player/mp3/08 - Track 8.mp3";
       $mycontent[2] = "http://localhost/flash_mp3_player/mp3/13 - Gar Aya.mp3";

    so implode will create string:
    "http://localhost/flash_mp3_player/mp3/08 - Track 8.mp3\r\nhttp://localhost/flash_mp3_player/mp3/13 - Gar Aya.mp3"

    */ 
    You should either build your xml string within the array to implode, or set up some kind of loop to create the output.

Posting Permissions

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