Файл регистрации ошибок feof (), fgets () использующий PHP

Возможный Дубликат:
Ссылка - Что эта ошибка означает в PHP?

У меня есть PHP код как указано ниже:

<?php
$PMTA = $_GET['PMTA'];
//Get current date
$date = date('Y-m-d');
// Declare variables
$chart = array();
$title = "";
$domain = "";
$total = array();
$fail = array();
$cate = array();
$orderChart = array();
$container ="";
$dormain_str = array(); 
// End declare variable 

//Use switch for getting the text files                 
    switch($PMTA){
        case 1:

            if(file_exists('../pmta/stats_domain_emetteur_recepteur.unitead.info.'.$date.'.txt'))
            {
                $file = '../pmta/stats_domain_emetteur_recepteur.unitead.info.'.$date.'.txt';
            }
            else
            {
                $file = 'file_exits/stats_domain_sender_blank.txt';
            }
            break;
        case 2:

            if(file_exists('../pmta/stats_domain_emetteur_recepteur.frdcrp.com.'.$date.'.txt'))
            {
                $file = '../pmta/stats_domain_emetteur_recepteur.frdcrp.com.'.$date.'.txt';
            }
            else
            {
                $file = 'file_exits/stats_domain_sender_blank.txt';
            }
            break;
        case 3:

            if(file_exists('../pmta/stats_domain_emetteur_recepteur.affinitead.net.'.$date.'.txt'))
            {
                $file = '../pmta/stats_domain_emetteur_recepteur.affinitead.net.'.$date.'.txt';
            }
            else
            {
                $file = 'file_exits/stats_domain_sender_blank.txt';
            }
            break;
        case 4:

            if(file_exists('../pmta/stats_domain_emetteur_recepteur.switchcall.com.'.$date.'.txt'))
            {
                $file = '../pmta/stats_domain_emetteur_recepteur.switchcall.com.'.$date.'.txt';
            }
            else
            {
                $file = 'file_exits/stats_domain_sender_blank.txt';
            }
            break;
        case 5:

            if(file_exists('../pmta/stats_domain_emetteur_recepteur.unitead.eu.'.$date.'.txt'))
            {
                $file = '../pmta/stats_domain_emetteur_recepteur.unitead.eu.'.$date.'.txt';
            }
            else
            {
                $file = 'file_exits/stats_domain_sender_blank.txt';
            }
            break;

    }

               //Open the file И read data
                $files = fopen($file,'r');
               //Start i = 0  
                $i = 0;
               //Check for the end of file has been reached,if have any error or end of file it will return true, other will return false
                while(!feof($files)){
                   //It breaks the string in file that seperate by ; into array, so $data will become an array
                    $data = explode(";",fgets($files));
                   //Determind wheather the data is not empty or not
                    if(!empty($data[6])){
                        $domain = $data[6];
                            if(!empty($_POST['txt_order_blue'])){                                       
                                $orderChart[$domain][] =array("success" => (100 - $data[9]),"fail" =>(float)$data[9],"cate" => $data[5]);                                       
                            }
                               //Else if click on button order by % failed        
                            else{
                                $orderChart[$domain][] =array("fail" =>(float)$data[9],"success" => (100 - $data[9]),"cate" => $data[5]);   
                           }                             
                        $i++;

                    }   

                }

?>

Когда я бегу в местном жителе, это хорошо работает, но когда я управляю им на сервере, это показывает сообщение

[Thu Dec 27 09:12:37 2012] [error] [client 103.23.136.12] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/uniteadpro/www/kama/stats/unitead_chart/bar_chart_ratio_recepteur_emetteur.php on line 89

И

[Thu Dec 27 09:12:37 2012] [error] [client 103.23.136.12] PHP Warning:  fgets() expects parameter 1 to be resource, boolean given in /home/uniteadpro/www/kama/stats/unitead_chart/bar_chart_ratio_recepteur_emetteur.php on line 90, referer: http://www.unitead.pro/kama/stats/unitead_chart/

В файлах журнала.
Я не знаю, как зафиксировать это.

2
добавлено отредактировано
Просмотры: 1
Вы - не ошибки из-за неправильного обращения. Проверьте если fopen ($file) следовавший прежде, чем раздать его как дескриптор файла.
добавлено автор DCoder, источник

1 ответы

Делает файл "file_exits/stats_domain_sender_blank.txt", существуют на том же самом местоположении как "bar_chart_ratio_recepteur_emetteur.php".

Я предполагаю, что ваши оба файла должны быть в "/home/uniteadpro/www/kama/stats/unitead_chart /" местоположение. Поскольку вторая ошибка просто удаляет цикл с условием продолжения.

0
добавлено