|
автор: sedek (23.10.2004 в 20:36) |
|
| Подскажите пожалуйста как мне сделать такое!
Допустим скрипт принял параметр
скрипт должен записать его в файл добавив запятую! а дальше он должен прочитать из этого файла но без последней запятой именно только без последнеей! | |
|
|
|
|
|
|
|
для: sedek
(23.10.2004 в 20:36)
| | Не очень понятно сколько раз производится операция, и что должно происходить со старым содержимым файла при повторном вызове скрипта. Вот вариант в предположении, что новые данные должны дописываться в конец файла
<?php
$filename = "test.txt";
$str = $_GET['id'];
// Помещаем параметр id в файл, добавляя запятую
$fd = fopen($filename, "a");
fwrite($fd, $str.",");
fclose($fd);
// Извлекаем содержимое файла
$fd = fopen($filename, "r");
$bufer = fread($fd, filesize($filename));
fclose($fd);
// Удаляем последнюю запятую
$bufer = substr($bufer,0,strlen($bufer) - 1);
echo $bufer;
?>
|
| |
|
|
|
|
автор: sedek (24.10.2004 в 21:02) |
|
|
для: cheops
(23.10.2004 в 21:02)
| | Да он должен дописывать в файл и если возможно он должен проверить если такой параметр уже есть в файле то он не должен его дописывать! а если нет то дописать! | |
|
|
|
|
|
|
|
для: sedek
(24.10.2004 в 21:02)
| | А что передаётся в качестве параметра, дело в том, что трудно проверить имеется ли в файле что-то, если не известно что оно из себя представляет. Например, содержит ли в тексте, передаваемом через параметр id запятые или нет? | |
|
|
|
|
автор: sedek (26.10.2004 в 16:33) |
|
|
для: cheops
(24.10.2004 в 21:34)
| | в параметре передаётся 5 или 6 букв возможно с цифрами! Пример: D34SG4 | |
|
|
|
|
автор: sedek (26.10.2004 в 18:51) |
|
|
для: cheops
(24.10.2004 в 21:34)
| | И ещё вопросик!
Мне нужно чтобы скрипт читал файл и то что он прочитает между запятыми подставлял в echo
примерно так:
это текстовый файл
D5HJ4,JK3TY4,LE2HE4,OR9ET4,
а вот так он должен подставить:
echo '$PID'."\r\n D5HJ4 $tex\n";
echo '$PID'."\r\n JK3TY4 $tex\n";
echo '$PID'."\r\n LE2HE4 $tex\n";
echo '$PID'."\r\n OR9ET4 $tex\n";
|
| |
|
|
|
|
|
|
|
для: sedek
(26.10.2004 в 18:51)
| | Можно это делать через функцию fgetcsv
<?php
$handle = fopen ("test.txt","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
foreach ($data as $value) {
echo "PID: $value</br>\n";
}
}
fclose ($handle);
?>
|
http://www.softtime.ru/dic/id_dic=170&id_group=6 | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(26.10.2004 в 20:52)
| | А проверку того факта имеется такой параметр в файле или нет, можно осуществить при помощи следующего скрипта:
<?php
$filename = "test.txt";
$str = $_GET['id'];
////////////////////////////////////////////////
// Блок проверки существования переменной в файле
////////////////////////////////////////////////
// Извлекаем содержимое файла
$fd = fopen($filename, "r");
$bufer = fread($fd, filesize($filename));
fclose($fd);
// Удаляем последнюю запятую
$bufer = substr($bufer,0,strlen($bufer) - 1);
// Разбиваем переменную на подстроки
$content = explode($bufer,",");
// Определяем имеется в файле значение $_GET['id']
if(!in_array($_GET['id'],$content))
{
// Если такого значения нет - добавляем его в файл
$fd = fopen($filename, "a");
fwrite($fd, $str.",");
fclose($fd);
}
?>
|
| |
|
|
|
|
автор: sedek (29.10.2004 в 20:18) |
|
|
для: cheops
(26.10.2004 в 21:02)
| | Почемуто всёравно записывает в файл даже если параметр передали несколько раз то всё записывает даже если там есть такой параметр! | |
|
|
|
|
|
|
|
для: sedek
(29.10.2004 в 20:18)
| | Хм... если вы выложите файл и укажите параметры - будет гораздо проще отладить скрипт... | |
|
|
|
|
автор: sedek (29.10.2004 в 22:41) |
|
|
для: cheops
(29.10.2004 в 22:18)
| | Вот файл! | |
|
|
|
|
|
|
|
для: sedek
(29.10.2004 в 22:41)
| | Нашёл свою опечатку... замените пожалуйста строку
<?php
// Разбиваем переменную на подстроки
$content = explode($bufer,",");
?>
|
на
<?php
// Разбиваем переменную на подстроки
$content = explode(",",$bufer);
?>
|
| |
|
|
|
|
автор: sedek (03.11.2004 в 14:33) |
|
|
для: cheops
(26.10.2004 в 21:02)
| | И ещё допустим скрипт ринял параметр
$_GET['param1']
и
$_GET['id']
$_GET['nick']
он их записал в файлы
а получив в переменной offline
if($_GET['param1'] == "offline")
|
он должен он должен удалить из файлов id и nick те что принял в $_GET['id']
$_GET['nick'] и вывести сообщение! | |
|
|
|
|
|
|
|
для: sedek
(03.11.2004 в 14:33)
| | Можно и такое организовать, но нужен последний вариант скрипта, что бы внести в него изменения. | |
|
|
|
|
автор: sedek (05.11.2004 в 16:00) |
|
|
для: cheops
(03.11.2004 в 23:30)
| |
<?php
header("Content-Type: text/plain");
$menu = array(
1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => '5',
6 => '6',
7 => '7',
);
srand ((double) microtime() * 1000000);
$rnd = rand(1,7);
$_GET['param1'] = stripslashes($_GET['param1']);
$_GET['voc'] = stripslashes($_GET['voc']);
if(isset($_GET['param1']))
if(isset($_GET['voc']))
if(isset($_GET['nick']))
if(isset($_GET['id']))
if(isset($_GET['master']))
$kom = $_GET['param1'];
$master = $_GET['master'];
$msg = $_GET['voc'];
$nik = $_GET['nick'];
$filename = "pid.txt";
$str = $_GET['id'];
$fd = fopen($filename, "r");
$bufer = fread($fd, filesize($filename));
fclose($fd);
$bufer = substr($bufer,0,strlen($bufer) - 1);
$content = explode(",",$bufer);
if(!in_array($str,$content))
{
$fd = fopen($filename, "a");
fwrite($fd,$str.",");
fclose($fd);
}
$nic = "niks.txt";
$fg = fopen($nic, "r");
$bufer = fread($fg,filesize($nic));
fclose($fg);
$bufer = substr($bufer,0,strlen($bufer) - 1);
$content = explode(",",$bufer);
if(!in_array($nik,$content))
{
$fg = fopen($nic,"a");
fwrite($fg,$nik.",");
fclose($fg);
}
////////geton///////
if($_GET['param1'] == "geton")
{
$fg = fopen($nic, "r");
$bufer = fread($fg,filesize($nic));
fclose($fg);
$bufer = substr($bufer,0,strlen($bufer) - 1);
echo "CHAT-$master> В ON $bufer";
exit();
}
if($_GET['param1'] == "Geton")
{
$fg = fopen($nic, "r");
$bufer = fread($fg,filesize($nic));
fclose($fg);
$bufer = substr($bufer,0,strlen($bufer) - 1);
echo "CHAT-$master> В ON $bufer";
exit();
}
if($_GET['param1'] == "GETON")
{
$fg = fopen($nic, "r");
$bufer = fread($fg,filesize($nic));
fclose($fg);
$bufer = substr($bufer,0,strlen($bufer) - 1);
echo "CHAT-$master> В ON $bufer";
exit();
}
/////////////////////
echo "CHAT-$master> Ваше сообщение отправлено!";
$handle = fopen ("pid.txt","r");
while ($data = fgetcsv($handle, 1000, ","))
{
foreach ($data as $value)
{
echo '$PID'."\r\n $value chat-$nik> $msg\n";
}
}
?>
|
Главное чтобы он когда запишет id не выводил его в конце в echo тут
$handle = fopen ("pid.txt","r");
while ($data = fgetcsv($handle, 1000, ","))
{
foreach ($data as $value)
{
echo '$PID'."\r\n $value chat-$nik> $msg\n";
}
}
|
| |
|
|
|
|
автор: sedek (06.11.2004 в 22:55) |
|
|
для: sedek
(05.11.2004 в 16:00)
| | Записать в файл если его там нет он должен а вот сообщение посылать на него не должен! | |
|
|
|
|
|
|
|
для: sedek
(06.11.2004 в 22:55)
| | Пропустил ваш пост... постараюсь завтра сделать... | |
|
|
|
|
автор: sedek (07.11.2004 в 22:42) |
|
|
для: cheops
(06.11.2004 в 23:55)
| | И ещё Я уже задавал такой вопрос!
Хотелось бы осуществить проверку на существование в $_GET['param1'] определённых данных если там начинается на <ems:picture и заканчивается на "> то запись в файл производится а если нет то выводится сообщение! Меня интерисует сама проверка!
И возможно ли такое если $_GET['param1'] == "add" то то что будет в $_GET['voc']должно записаться в файл!
или если в $_GET['param1'] данные начинаются с ADD то то что будет после ADD должно записаться в файл!
Если возможно конечно! | |
|
|
|
|
|
|
|
для: sedek
(07.11.2004 в 22:42)
| | Всё это пишется в тот же файл? или другой? | |
|
|
|
|
автор: sedek (07.11.2004 в 23:11) |
|
|
для: sedek
(07.11.2004 в 22:42)
| | Проверка в другой а ADD в тот! | |
|
|
|
|
|
|
|
для: sedek
(07.11.2004 в 22:42)
| | Хм.. давайте по порядку вот вариант с offline - это то или нет? | |
|
|
|
|
автор: sedek (07.11.2004 в 23:43) |
|
|
для: cheops
(07.11.2004 в 23:12)
| | да в этот ещё чтобы то что примет в $_GET['id'] записал в файл но не выводил в echo
тут $handle = fopen ("pid.txt","r");
while ($data = fgetcsv($handle, 1000, ","))
{
foreach ($data as $value)
{
echo '$PID'."\r\n $value chat-$nik> $msg\n";
}
}
и то что ADD | |
|
|
|
|
 3.1 Кб |
|
|
для: sedek
(07.11.2004 в 23:43)
| | Хм... файл получается запутанный какой-то... по моему там всё по другому нужно делать, непонятно так же как должны разделяться $id и $msg в файле pid.txt... | |
|
|
|
|
автор: sedek (09.11.2004 в 20:37) |
|
|
для: cheops
(08.11.2004 в 00:04)
| | Простите у меня комп сломался!
<?php
header("Content-Type: text/plain");
$_GET['param1'] = stripslashes($_GET['param1']);
$_GET['voc'] = stripslashes($_GET['voc']);
if(isset($_GET['param1']))
if(isset($_GET['voc']))
//Тут принимает параметр id
if(isset($_GET['id']))
$kom = $_GET['param1'];
$msg = $_GET['voc'];
$str = $_GET['id'];
//Тут записывает в файл его
$filename = "pid.txt";
$fd = fopen($filename, "r");
$bufer = fread($fd, filesize($filename));
fclose($fd);
$bufer = substr($bufer,0,strlen($bufer) - 1);
$content = explode(",",$bufer);
if(!in_array($str,$content))
{
$fd = fopen($filename, "a");
fwrite($fd,$str.",");
fclose($fd);
}
echo "CHAT-$master> Ваше сообщение отправлено!";
//А тут прочитав файл посылает на все id сообщение
//А надо чтоб тут посылал на все что в файле кроме
// того что принял в if(isset($_GET['id']))
$handle = fopen ("pid.txt","r");
while ($data = fgetcsv($handle, 1000, ","))
{
foreach ($data as $value)
{
echo '$PID'."\r\n $value chat-$nik> $msg\n";
}
}
?>
|
И отдельный блок!
допустим пользователь хочет добавить картинку в каталог pic.txt
он посылает в скрипт add картинка
скрипт приняв в $_GET['param1']; ADD картинка, должен записать в файл pic.txt только то что стоит после ADD и послать сообщение успешно добавлено! А если нет слова ADD то просто продолжить выполнение скрипта! | |
|
|
|
|
автор: sedek (09.11.2004 в 21:01) |
|
|
для: sedek
(09.11.2004 в 20:37)
| |
<?php
header("Content-Type: text/plain");
$add = "catalog.txt";
if($_GET['param1'] == "")
{
echo "Вы ничего не добавили!!!";
exit();
}
$_GET['param1'] = stripslashes($_GET['param1']);
if(isset($_GET['param1']))
if(isset($_GET['nick']))
if(isset($_GET['id']))
//Тут надо сделать проверку на правильность введённых данных
//$_GET['param1'] должно начинаться с <ems:picture и заканчиваться ">
//но чтоб это было один раз
// Допустим <ems:picture hex="dfsdfsdfgsdgfsdfsdfsdfs">
//А если будет так <ems:picture hex="dfsdfsdfgsdgfsdfsdfsdfs"><ems:picture hex="dfsdfsdfgsdgfsdfsdfsdfs">
// Или просто текст то скрипт должен вывести сообщение об ошибке
// А если так и есть то в конце производится запись
$_GET['param1'] = substr($_GET['param1'],0,800);
$filename = "pid.txt";
$str = $_GET['id'];
$fd = fopen($filename, "r");
$bufer = fread($fd, filesize($filename));
fclose($fd);
$bufer = substr($bufer,0,strlen($bufer) - 1);
$content = explode(",",$bufer);
if(!in_array($_GET['id'],$content))
{
$fd = fopen($filename, "a");
fwrite($fd, $str.",");
fclose($fd);
}
$tex = "Добавил: ".$_GET['nick'].">".$_GET['param1'];
$handle = fopen ("pid.txt","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
foreach ($data as $value) {
echo '$PID'."\r\n $value $tex\n";
}
}
fclose ($handle);
{
$fp = fopen($add,'a');
if(fwrite($fp,"Добавил: ".$_GET['nick'].": ".$_GET['param1']."\r\n"))
fclose($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(07.11.2004 в 23:12)
| | Спасибо огромное! Offline Работает отлично! | |
|
|
|
|
|
|
|
для: sedek
(09.11.2004 в 22:33)
| | Извените если достал! | |
|
|
|
|
|
|
|
для: sedek
(10.11.2004 в 21:16)
| | Так а.... все работает? Или еще что то осталось неотвеченное? :) | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(11.11.2004 в 00:02)
| | последние мои 2 сообщения с кодом неотвечены! Спасибо! | |
|
|
|
|
|
|
|
для: sedek
(11.11.2004 в 21:24)
| | Давайте новую тему заведём, я крайне неохотно захожу в темы с числом сообщений больше 30 :)))
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=755 | |
|
|
|
|
автор: sedek (03.11.2004 в 14:16) |
|
|
для: glsv (Дизайнер)
(26.10.2004 в 20:52)
| | А возможно так чтобы он выводил в echo те что взял из файла кроме того что принял в $_GET['id']! | |
|
|
|