Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчёт ошибок 
:(
    Опции темы
Another
  Дата 2.4.2007, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Есть скрипт создание страниц по заданным пораметрам:
Код

//Создание страниц
    $fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp)
            echo "<p><font color=red>Неудачно\n";
            fwrite($fp,$tpl_out);
            fclose($fp);
            print 'создана - >'.$name.''.$_POST['1'].'</font><br>';
            flush();
        }
        if ($tfp) {fclose($tfp);}


Нужно сделать подсчет созданых  не созданых страниц.
PM MAIL   Вверх
mclight
Дата 3.4.2007, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 6.7.2005
Где: Baku, Azerbaijan

Репутация: 1
Всего: 2



а в чем в принципе проблема?
Код

    $fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp){
                echo "<p><font color=red>Неудачно\n";

    // вот тут-то и делай что хочешь......всякие там переменные неправильные

            }else{

    // вот тут-то и делай что хочешь......всякие там переменные правильные

               fwrite($fp,$tpl_out);
               fclose($fp);
               print 'создана - >'.$name.''.$_POST['1'].'</font><br>';
               flush();
            }
        }
        if ($tfp) {fclose($tfp);}


Это сообщение отредактировал(а) mclight - 3.4.2007, 08:00
--------------------
Как я решал подводные камни Cakephp и не только
PM WWW ICQ MSN   Вверх
Всемогущий
Дата 3.4.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



хранить ошибки будем в мааленьком файлике количество удач|количество ошибок 
обслуживать файлик будет функция
файлик создаём заранее внутри 0|0

Код

<?php
//чуть не забыл файл имеет структуру удачи|ошибки
function logerror($status){
$logplase='smallerrorlog.log';
//для начала проверим доступен ли для записи наш ненаглядный файл :)  smallerrorlog
clearstatcache();//вдруг пока php читал предыдущий комментарий файл перестал быть читаемым
//далее открываем файл лога для чтения и записи ,и блокируем его

if(!is_readable($logplase) or !$logfile=fopen($logplase,'r') or !flock ($logfile,1)){
   echo 'файл неоткрылся'; return false; }
//далее читаем всё из файла и судя по статусу увеличиваем количество ошибок или удач
$mydata=fgets($logfile);
//превращаем  $mydata в массив первым элементом его будет количество удач второй кколичество ошибок
$mydata=explode('|',$mydata,2);

if($status){$mydata[0]++;}else{$mydata[1]++;};

//продолжаем мучать $mydata теперь это снова будет строка но с новой инфой
$mydata=implode('|',$mydata);

$logfile=fopen($logplase,'w');

if(!fwrite($logfile,$mydata)){
    echo 'не удалось прооизвести запись в файл';  return false;};

//записали и слава богу только не помню сначала закрываем файл а потом снимаем защиту записи или наоборот (поэксперементируешь)

flock ($logfile,3);
fclose($logfile);
return true;

 }
/*logerror(false);
logerror(true);*/


?>




далее где нужно добавляем мою функцию 


Код

//Создание страниц
    $fp=fopen(''.$_POST['dir'].'/'.$name.$_POST['1'],'w');
            if (!$fp){
            echo "<p><font color=red>Неудачно\n";
            logerror(false);
            }
            fwrite($fp,$tpl_out);
            fclose($fp);
            logerror(true);
            print 'создана - >'.$name.''.$_POST['1'].'</font><br>';
            flush();
        }
        if ($tfp) {fclose($tfp);}






--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Всемогущий
Дата 3.4.2007, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



можно добавить
fclose($logfile);
перед 

$mydata=implode('|',$mydata);


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Another
Дата 3.4.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



 smile 
PM MAIL   Вверх
Всемогущий
Дата 3.4.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



уже и так работает ,
Код

<?php
//чуть не забыл файл имеет структуру удачи|ошибки
function logerror($status){
$logplase='smallerrorlog.log';
//для начала проверим доступен ли для записи наш ненаглядный файл :)  smallerrorlog
clearstatcache();//вдруг пока php читал предыдущий комментарий файл перестал быть читаемым
//далее открываем файл лога для чтения и записи ,и блокируем его

if(!is_readable($logplase) or !$logfile=fopen($logplase,'r') or !flock ($logfile,1)){
   echo 'файл неоткрылся'; return false; }
//далее читаем всё из файла и судя по статусу увеличиваем количество ошибок или удач
$mydata=fgets($logfile);
//превращаем  $mydata в массив первым элементом его будет количество удач второй кколичество ошибок
$mydata=explode('|',$mydata,2);

if($status){$mydata[0]++;}else{$mydata[1]++;};

//продолжаем мучать $mydata теперь это снова будет строка но с новой инфой

$mydata=implode('|',$mydata);
fclose($logfile);
$logfile=fopen($logplase,'w');

if(!fwrite($logfile,$mydata)){
    echo 'не удалось прооизвести запись в файл';  return false;};

//записали и слава богу только не помню сначала закрываем файл а потом снимаем защиту записи или наоборот (поэксперементируешь)

flock ($logfile,3);
fclose($logfile);
return true;

 }
?>



Это сообщение отредактировал(а) Всемогущий - 5.4.2007, 07:01

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  smallerrorlog.log 0,00 Kb


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Another
Дата 4.4.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



Спасибо.
А как сделать чоб перед следующей генерацией файл очищался. То-есть надо чоб после каждой генерации показывалась только статистика этой генерации а не сумма всех остальных+эта.
?
PM MAIL   Вверх
Всемогущий
Дата 5.4.2007, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



Код

<?php
//чуть не забыл файл имеет структуру удачи|ошибки
function logerror($status){
$logplase='smallerrorlog.log';
//для начала проверим доступен ли для записи наш ненаглядный файл :)  smallerrorlog
clearstatcache();//вдруг пока php читал предыдущий комментарий файл перестал быть читаемым
//далее открываем файл лога для чтения и записи ,и блокируем его

if(!is_readable($logplase) /*or !$logfile=fopen($logplase,'r')or !flock ($logfile,1)*/ ){
   echo 'файл неоткрылся'; return false; }
//далее читаем всё из файла и судя по статусу увеличиваем количество ошибок или удач
//новые указания: ошибки за сеанс для этого закомментируем следующую строку
// $mydata=fgets($logfile);
//превращаем  $mydata в массив первым элементом его будет количество удач второй кколичество ошибок
//$mydata=explode('|',$mydata,2);

//if($status){$mydata[0]++;}else{$mydata[1]++;}; //меняем эту строку на следующую
if($status){$mydata[0]=1; $mydata[1]=0; }else{$mydata[0]=0; $mydata[1]=1;};
//продолжаем мучать $mydata теперь это снова будет строка но с новой инфой
print_r($mydata);
$mydata=implode('|',$mydata);
echo  $mydata;
/*fclose($logfile);    */
$logfile=fopen($logplase,'w');

if(!fwrite($logfile,$mydata)){
    echo 'не удалось прооизвести запись в файл';  return false;};

//записали и слава богу только не помню сначала закрываем файл а потом снимаем защиту записи или наоборот (поэксперементируешь)

/*flock ($logfile,3); */
fclose($logfile);
return true;

 }

?>


Это сообщение отредактировал(а) Всемогущий - 5.4.2007, 07:18


--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Another
Дата 30.7.2007, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 17.6.2006

Репутация: нет
Всего: -2



 А как последний результат удач и ошибок записать в переменные(из скрипта приведенного выше)?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.