I can not get anything from the database. please help

Discussion in 'PHP' started by baris22, Sep 29, 2007.

  1. #1
    Please help me.

    I get two error messages. They are:

    [29-Sep-2007 20:45:12] PHP Warning: sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /home/x/public_html/x/article_online.php on line 80

    [29-Sep-2007 20:45:58] PHP Warning: fopen(AS/&lt;br /&gt;) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /home/x/public_html/x/article_online.php on line 39

    Here is the code

    
    
    <?php
    
    $dataFile = "article_submission.ip";
    $sessionTime = 30; 
    
    function connect()
    {
    	if (strstr($_SERVER['SERVER_ADDR'],"xxx") != "" || $_SERVER['SERVER_ADDR']=="xxx")
    	{
    		$db_host = "localhost";  // Host name
    		$db_user = "x";  // User name of your database
    		$db_password = "x";     // assword of your database
    		$db_name="x";   // Database name
    		$mysql_database = "x";
    	}
    	else
    	{
    	
    
        $db_host = "x";  // Host name
    	$db_user = "x";  // User name of your database
    	$db_password = "x";     // assword of your database
    	$db_name="x";   // Database name
    	$mysql_database = "x";
    
    
    	}
    
    
    	// To connect to database
    	mysql_pconnect($db_host,$db_user,$db_password);
    	mysql_select_db($db_name) or die("Can't select DB");
    }
    
    function SendMessageTo($ip, $msg)
    {
    	$myFile = "AS/".trim($ip);
        
    	$fp = fopen($myFile, "a");
    	if ($fp == "") return 0;
    	fwrite($fp, $msg."\r\n");
    	fclose($fp);
    }
    
    function BroadCast($message)
    {
        global $dataFile;
    	$users = file($dataFile);
    	$currentTime = time();
    
    	for($i=0;$i<count($users);$i++)
    	{
    		$userInfo = explode("|", $users[$i]);
    		$fx = trim($userInfo[0]);
            if ($fx != $_REQUEST['f'])
            {
                if ($currentTime - $userInfo[1] < 30) 
                    SendMessageTo($userInfo[0], $message);
            }
    	}
    }
    
    function GetID($clientFile)
    {
        global $dataFile;
    	$users = file($dataFile);
    
    	for($i=0;$i<count($users);$i++)
    	{
    		$userInfo = explode("|", $users[$i]);
    		$fl = trim($userInfo[0]);
    		if (!strcmp($fl, $clientFile)) return $i;
        }
        return -1;
    }
    
    function CreateID($dataFile)
    {
        global $dataFile;
        $rec = sprintf("%-32.32s|%10.10s\r\n", $dataFile);
        $recNo = filesize($dataFile) / 45;
        $fl = fopen($dataFile, "a");
        if ($fl != "")
        {
            fwrite($fl, $rec, 45);
            fclose($fl);
            return $recNo;
        }
        return -1;
    }
    
    function CleanUp()
    {
        global $dataFile;
    	$users = file($dataFile);
    	$currentTime = time();
    
    	for($i=0;$i<count($users);$i++)
    	{
            $users[$i] = trim($users[$i]);
    		$userInfo = explode("|", $users[$i]);
    		if ($currentTime - $userInfo[1] >= 5) 
    		{
    		    $myFile = "AS/".trim($userInfo[0]);
                if (file_exists($myFile)) unlink($myFile);
            }
    	}
    }
    
    function SearchRecordsOnWebServer($list)
    {
    //    $list[0] is the filename where results to be written
    //    $list[1] is the searchID to be send back 
    //    $list[2] file type (Audio,Video...)
    //    $list[3] Search String
    
    	connect();
    	$sql_query = "select * from `filedetails` where type='".$list[2]."' and title  like '%".$list[3]."%'";
    	$result = mysql_query($sql_query) or die(mysql_error());
    	     
    	if ($result != "")
    	{
    		$z = mysql_num_rows($result);
    		for ($i = 0 ; $i < $z ; $i++)
    		{
    			$rec = mysql_fetch_array($result);
    			//"A%d|%d|%s|%s|%d|%d|", list[0], remoteProcessID, type, temp->title, temp->description, temp->index, temp->owner);
    			$msg = "A".$list[1]."|".$list[2]."|".$rec['title']."|".$rec['description']."|".$rec['id']."|1_1_1_1_1_1_1_1"."|".$rec['quality'];
    			SendMessageTo($list[0], $msg);
    		}
    	}
    }
    
    function SendFile2Client($list)
    {
    //    $list[0] is the searchID to be send back 
    //    $list[1] is the filename where results to be written
    
    	connect();
    	$sql_query = "select * from `filedetails` where id='".$list[0]."'";
    	$result = mysql_query($sql_query) or die(mysql_error());
    	     
    	if ($result != "")
    	{
    		if (mysql_num_rows($result) > 0)
    		{
    			$rec = mysql_fetch_array($result);
    
    			//str.Format("F%d|%s|%s|%d|%s|", art.type, art.title, art.description, art.index, IPFileName);
    			$msg = "F".$rec['type']."|".$rec['title']."|".$rec['description']."|".$rec['id']."|1_1_1_1_1_1_1_1|".$rec['quality']."|".$rec['links'];
    			SendMessageTo($list[1], $msg);
    		}
    	}
    }
    
    function ProcessServerRecord($data)
    {
        connect();
        $action = $data[0];
        $data = substr($data, 1);
        $list = explode("|", $data);
    
        if ($action=="R")
        {
            // Get Record whose id = $list[0];
    		$sql_query = "select * from `filedetails` where id='".$list[0]."'";
    		$result = mysql_query($sql_query) or die(mysql_error());
    
    		if ($result != "" && mysql_num_rows($result) > 0)
    		{
    			$rec = mysql_fetch_array($result);
    
    			// Get Quality field
    			$quality = $rec['quality'];
    			for ( $i = 0 ; $i < 10 ; $i++)
    			{ 
    				if ($quality[$i]==0)
    				{
    					$quality[$i]=$list[1];
    					break;
    				}
    			}
    			// Update Record
    			$sql_query = "update `filedetails` set `quality`='".$quality."' where id='".$list[0]."'";
    			$result = mysql_query($sql_query) or die(mysql_error());
    		}
        }
    	else if ($action=="S")
    	{
    		SendFile2Client($list);
    	}
    }
    
    //////////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////////////////////////////////
    
    // If ip list file does not exist create it
    if(!file_exists($dataFile)) fclose(fopen($dataFile, "w+"));
    
    // Get Ip address of client
    $ip = $_SERVER['REMOTE_ADDR'];
    
    // If this is initialization clear clients message queue file,
    // Send current available version and download urls to client for further processing
    if ($_REQUEST['a']=="init")
    {
        $fileName = $_REQUEST['ip']."_".$ip;
        $fileName = str_replace(".", "_",$fileName);
    //	if (file_exists($fileName)) unlink($fileName);
    
        CleanUp();
        $MYID = GetID($fileName);
        if ($MYID==-1) $MYID = CreateID($fileName);
    
    	print $fileName."\r\n".$MYID."\r\nversion=1.0;http://www.x.com/h.exe;http://www.x.com/sh.exe";
        exit();
    }
    else if ($_REQUEST['a']=="send")
    {
        $t = strpos($_REQUEST['s'], "|");
        $send2 = substr($_REQUEST['s'], 0, $t);
        $data = substr($_REQUEST['s'], $t+1);
    
        if (strlen($send2) > 0)
        {
            if ($send2=="1_1_1_1_1_1_1_1")
                ProcessServerRecord($data);
            else SendMessageTo($send2, $data);
            exit();    
        }
        BroadCast($data);
    
        // This is a search request and we need to search on web server also
        if ($data[0]=="Q")
        {
            $data = substr($data, 1);
            $list = explode("|", $data);
            SearchRecordsOnWebServer($list);
        }
    }
    else if ($_REQUEST['a']=="get")
    {
        $myFile = "AS/".$_REQUEST['f']; 
        if (!file_exists($myFile)) exit();  
    
        $list = file($myFile);
        unlink($myFile);
    	for ($i=0;$i < count($list) ; $i++)
    	{
           print $list[$i];
    	}
    }
    else if ($_REQUEST['a']=="online")
    {
        $rec = sprintf("%-32.32s|%10.10s\r\n", $_REQUEST['f'], time());
        $fl = fopen($dataFile, "r+");
        if ($fl != "")
        {
            $offset = $_REQUEST['id']*45;
            fseek($fl, $offset, 0);
            fwrite($fl, $rec, 45);
            fclose($fl);
        }
    }
    ?>
    
    
    
    Code (markup):
    Thank you very much
     
    baris22, Sep 29, 2007 IP
  2. PHPGator

    PHPGator Banned

    Messages:
    4,437
    Likes Received:
    133
    Best Answers:
    0
    Trophy Points:
    260
    #2
    try including this at line 38 (before fopen)

    echo($myFile);

    I'm not real sure of the first error but the above code might help you target why it can't find your file.
     
    PHPGator, Sep 29, 2007 IP
  3. baris22

    baris22 Active Member

    Messages:
    543
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    60
    #3
    Same problem.

    Thanks
     
    baris22, Sep 29, 2007 IP
  4. baris22

    baris22 Active Member

    Messages:
    543
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    60
    #4
    I managed to fix the first error. Can anyone help me to solve second error.

    Plaese.

    It says

    [29-Sep-2007 20:45:58] PHP Warning: fopen(AS/&lt;br /&gt [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in /home/x/public_html/x/article_online.php on line 39

    Thanks
     
    baris22, Oct 2, 2007 IP
  5. kendo1979

    kendo1979 Peon

    Messages:
    208
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #5
    the waring gave you the line where the code dies which is

    Are you sure the file exist in that directory?
    is this code included from anothe code which reside in a different directory?
     
    kendo1979, Oct 2, 2007 IP