|
|
|
| Помогите пожалуйста!
Почему у меня когда скрипт получив данные если не находит того файла куда он должен записать данные выдаёт ошибку но файл создаёт нельзяли это делать молча!
и подскажите где у меня ошибка он если не получив данных в $_GET['param1'] должен прочитать и вывести данные из файла а он не выводит!
<?php
header("Content-Type: text/plain");
include "menu.php";
if(isset($_GET['param1']))
if(isset($_GET['nick']))
if(isset($_GET['master']))
$_GET['param1'] = stripslashes($_GET['param1']);
$nick = $_GET['nick'];
$master = $_GET['master'];
$param = substr($_GET['param1'],4);
$add = "$master";
$fp = file($add);
$vsego = count($fp);
$wiew = "<ems:br><encode>master $master.pic</encode>-Смотреть Каталог.";
$dalee = "<ems:br><encode>master $master.pic</encode>-Дальше.";
if(preg_match("|^add$|i", substr($_GET['param1'],0,3)) && $param == "")
{
echo "Вы ничего не добавили!!!".$menu[$rnd];
exit();
}
else if (!preg_match("|^<ems:picture[^>]*>$|i", $param) && preg_match("|^add$|i", substr($_GET['param1'],0,3)))
{
echo "Добавить можно только картинку!!!".$menu[$rnd];
exit();
}
$tex = "Добавил: ".$_GET['nick'].">".$param." Всего:".$vsego.$wiew.$menu[$rnd];
if(preg_match("|^add$|i", substr($_GET['param1'],0,3)))
{
$filepict = "$master";
$fd = fopen($filepict, "a");
fwrite($fd,"Добавил: ".$_GET['nick'].": ".$param."\r\n");
fclose($fd);
echo "$tex";
exit();
}
if($param == "")
{
$help = "<ems:br><encode>master xchat.pichelp</encode>-Как добавить.";
$baza = "$master";
$fp = file($baza);
$filename = "$master.count";
$file = fopen($filename, "r");
$index = fread($file, filesize($filename));
fclose($file);
$pos = (int)$index + 1;
if($pos>count($fp)) $pos = 1;
$fp[$pos] = str_replace("\r\n","",$fp[$pos]);
echo $fp[$pos].$dalee.$help.$menu[$rnd];
$file = fopen($filename, "w");
fwrite($file,$pos);
fclose($file);
}
?>
|
| |
|
|
|
|
|
|
|
для: sedek
(22.11.2004 в 14:42)
| | Ругается?
А может быть он ругается вот на этот участок кода
<?
$filename = "$master.count";
$file = fopen($filename, "r");
$index = fread($file, filesize($filename));
fclose($file);
?>
|
Насколько я понял, файл в это время может быть не создан.
А записываете Вы его несколькими строками ниже
<?
$file = fopen($filename, "w");
fwrite($file,$pos);
fclose($file);
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(22.11.2004 в 22:26)
| | сначала тут
$filepict = "$master";
$fd = fopen($filepict, "a");
fwrite($fd,"Добавил: ".$_GET['nick'].": ".$param."\r\n");
fclose($fd);
а потом и там!
онже всёравно создаёт файл почему он пишет что нельзя открыть файл и нет такого файла и как это можно исправить? | |
|
|
|
|
|
|
|
для: sedek
(23.11.2004 в 01:18)
| | Странно, конечно, что он так пишет... Не должен бы.
Чтобы подавить вывод ошибок поставьте @ перед вызовом функции
$fd = @fopen($filepict, "a");
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(23.11.2004 в 02:40)
| | Подскажите plz мой скрипт создаёт файл и заносит в него данные мне надо чтобы если такойфайл существует то он не перезаписывал его а выводил сообщение что такой файл существует!
<?php
header("Content-Type: text/plain");
if(isset($_GET['param1']))
if(isset($_GET['id']))
$_GET['param1'] = stripslashes($_GET['param1']);
$master = $_GET['param1'];
$id = $_GET['id'];
$filename = "ch/boss.$master.txt";
$fd = @fopen($filename, "a");
@fwrite($fd,$id);
@fclose($fd);
?>
|
| |
|
|
|
|
|
|
|
для: sedek
(26.11.2004 в 22:20)
| | Можно воспользоваться функцией file_exists()
<?php
header("Content-Type: text/plain");
if(isset($_GET['param1']))
if(isset($_GET['id']))
$_GET['param1'] = stripslashes($_GET['param1']);
$master = $_GET['param1'];
$id = $_GET['id'];
$filename = "ch/boss.$master.txt";
if(!file_exists($filename))
{
$fd = @fopen($filename, "a");
@fwrite($fd,$id);
@fclose($fd);
}
else
{
echo "Поздравляем! Такой файл уже существует!";
}
?>
|
http://www.softtime.ru/dic/id_dic=173&id_group=6 | |
|
|
|
|
|
|
|
для: cheops
(26.11.2004 в 22:38)
| | Вот ещё! Замучился уже!
во вложении!
Скрипт должен если поступит команда ADD то то что после команды записать в файл и вывести сообщение а если не поступит команды то просмотреть строку из того файла куда он добавляет!
он и не создаёт файлы и вообще нихрена не делает! | |
|
|
|
|
|
|
|
для: sedek
(27.11.2004 в 01:55)
| | С каждой ли командой к скрипту поступает параметр $_GET['master'] - получается так, что если этого параметра нет - fopen пытается открыть пустой файл. | |
|
|
|
|
|
|
|
для: cheops
(27.11.2004 в 11:34)
| | параметр мастер есть всегда! он ставится постоянно в url http://mydomain.ru/ch.php?param1=%*%&nick=%nick%&master=master | |
|
|
|
|
|
|
|
для: sedek
(27.11.2004 в 13:34)
| | Я сейчас убегаю... вечером обязательно отпишусь... | |
|
|
|
|
|
|
|
для: sedek
(27.11.2004 в 01:55)
| | Хм... поместил в начале файла строки
<?php
$_GET['param1'] = "ADD <ems:picture >";
$_GET['master'] = "master";
?>
|
Сразу создалось два файла
master
master.count
Если в параметре $_GET['param1'] команды ADD не присутствует, то переменная $index, в которую помещается содержимое master.count принимает значение 1 (что в общем и в файле)... Так должно работать или нет? | |
|
|
|