Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Создание *.txt файла средствами PHP
ТвойWeb » WebMaster класс » PHP/Perl » Создание *.txt файла средствами PHP

Страниц (1): [1]
 

1. 4c005 - 31 Июля, 2005 - 04:58:25 - перейти к сообщению
Вопрос такой: Необходима команда PHP создающая файл с именем переменной $get и расширением txt в указанной директории, а при следующим обращении к нему не создает его вновь, а читает существующий?

Нашел скрипт счетчика кликов, но есть желание его усовершенствовать... А знаний пока не хватает. Огорчение

CODE:
<?
$counterdir = "counters/";
$textfont = "Verdana,Tahoma";

if (file_exists("$get"))
{
header("location: $get");

Вот гдето тут и должен быть код с условием проверки наличия...
CODE:
$file = fopen("$counterdir/$get.txt","r");
$count = fread($file, 100);
$countplus = ($count + 1);
fclose($file);
$fileb = fopen("$counterdir/$get.txt","w");
fwrite($fileb, $countplus, 100);
fclose($fileb);
}
else echo "<font face=$textfont size=2>";
echo "<center><BR><BR> Невозможно просмотреть <b>$get</b><BR>";

?>


Подскажите пжлста.
2. RaZoR - 31 Июля, 2005 - 06:43:25 - перейти к сообщению
CODE:
<?
$dir='somedir/';
if (is_file($dir.$get.'.txt'))
{
$file=file($dir.$get.'.txt'); //"читаем существующий"
}
else
{
$fp=fopen($dir.$get.'.txt','w');
fwrite($fp,'пишем в файл'); //создаём файл
fclose($fp);
}
?>
3. 4c005 - 31 Июля, 2005 - 08:10:05 - перейти к сообщению
Спасибо Подмигивание

Наверно вот так правильно будет... А можно по If еще один if писать?

CODE:
<?
$counterdir = "counters/";
$textfont = "Verdana,Tahoma";
if (file_exists("$get"))
{
if (is_file($counterdir.$get.'.txt'))
{
header("location: $get");
$file = fopen("$counterdir/$get.txt","r");
$count = fread($file, 100);
$countplus = ($count + 1);
fclose($file);
$fileb = fopen("$counterdir/$get.txt","w");
fwrite($fileb, $countplus, 100);
fclose($fileb);
}
else
{
header("location: $get");
$fp=fopen($counterdir.$get.'.txt','w');
fwrite($fp,'1'); //создаём файл
fclose($fp);
}
else echo "<font face=$textfont size=2>";
echo "<center><BR><BR> Невозможно просмотреть <b>$get</b><BR>";
?>
4. TvoyWeb - 31 Июля, 2005 - 09:03:32 - перейти к сообщению
4c005
Инстукции if else можно не обрамлять фигурными кавычками если там всего одна инструкция.
Например:
CODE:
if ($a == $b) echo $a;//только одна инструкция
else echo $b;//заметь опять только одна инструкция

А вот так неверно:
CODE:
if ($a == $b) echo $a;
$a = $a*b;
else echo $b;//заметь опять только одна инструкция

И в твоем коде есть синтакситечские ошибки.
5. 4c005 - 31 Июля, 2005 - 09:32:34 - перейти к сообщению
Т.Е. последний кусок кода должен выглядет так:
CODE:
...
fclose($fp);
}
else
{
echo "<font face=$textfont size=2>";
echo "<center><BR><BR> Невозможно просмотреть <b>$get</b><BR>";
}
?>

Я правильно понял?
6. MaG - 31 Июля, 2005 - 13:49:59 - перейти к сообщению
4c005 пишет:
Вопрос такой: Необходима команда PHP создающая файл с именем переменной $get и расширением txt в указанной директории, а при следующим обращении к нему не создает его вновь, а читает существующий?


CODE:
<?php

$file = fopen( "$get.txt", "a+" ); //Открываем файл $get.txt, если его нет то он создается автоматически

$result = fread( $file, filesize( "$get.txt" ) ); //Считываем весь файл

fclose( $file ); //Закрываем файл

echo $result; //Выводим результат

?>
7. 4c005 - 01 Августа, 2005 - 03:13:43 - перейти к сообщению
Всем спасибо. Разобрался. Заработало.
8. ETC - 01 Августа, 2005 - 03:56:22 - перейти к сообщению
Ну и тема тады закрыта...

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0426]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33