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

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

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

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Создание *.txt файла средствами PHP
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: Подскажите пжлста как на ПХП написать команду кот. создаст файл с заданным именем в указанной директории.
4c005
Отправлено: 31 Июля, 2005 - 04:58:25
Post Id


Newbie


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июль 2005  
Откуда: РФ С-Пб

Карма 0




Вопрос такой: Необходима команда 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>";

?>


Подскажите пжлста.
 
 Top
RaZoR
Отправлено: 31 Июля, 2005 - 06:43:25
Post Id



Full Member


Покинул форум
Сообщений всего: 225
Дата рег-ции: Март 2005  
Откуда: Оренбург

Карма 0




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);
}
?>
 
 Top
4c005
Отправлено: 31 Июля, 2005 - 08:10:05
Post Id


Newbie


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июль 2005  
Откуда: РФ С-Пб

Карма 0




Спасибо Подмигивание

Наверно вот так правильно будет... А можно по 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>";
?>
 
 Top
TvoyWeb Администратор
Отправлено: 31 Июля, 2005 - 09:03:32
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




4c005
Инстукции if else можно не обрамлять фигурными кавычками если там всего одна инструкция.
Например:
CODE:
if ($a == $b) echo $a;//только одна инструкция
else echo $b;//заметь опять только одна инструкция

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

И в твоем коде есть синтакситечские ошибки.
 
 Top
4c005
Отправлено: 31 Июля, 2005 - 09:32:34
Post Id


Newbie


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июль 2005  
Откуда: РФ С-Пб

Карма 0




Т.Е. последний кусок кода должен выглядет так:
CODE:
...
fclose($fp);
}
else
{
echo "<font face=$textfont size=2>";
echo "<center><BR><BR> Невозможно просмотреть <b>$get</b><BR>";
}
?>

Я правильно понял?
 
 Top
MaG
Отправлено: 31 Июля, 2005 - 13:49:59
Post Id


Newbie


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2005  

Карма 0




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


CODE:
<?php

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

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

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

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

?>
 
 Top
4c005
Отправлено: 01 Августа, 2005 - 03:13:43
Post Id


Newbie


Покинул форум
Сообщений всего: 26
Дата рег-ции: Июль 2005  
Откуда: РФ С-Пб

Карма 0




Всем спасибо. Разобрался. Заработало.
 
 Top
ETC Администратор
Отправлено: 01 Августа, 2005 - 03:56:22
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Ну и тема тады закрыта...
Тема закрыта!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


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

[Script Execution time: 0.0447]     [ 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