[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с файлами
Страницы: 1, 2
UR5FDG
$A = $_GET["num"];
$FILE = fopen("dat","a+");
if ($FILE){
fwrite ($FILE, " ");
fwrite ($FILE, $A);
}
else {
echo "<br>File wasn't created!!!";
}
fclose($FILE);

Здравствуйте. Недавно начал разбираться с ПХП, возник вопрос: нужно открыть файл (если не существует то создать) и дописать в него данные. Отрывок кода, что приведен выше, записывает в файл переменную $А - по два раза, если открыть файл с ключем "W", то запись происходит один раз.
Заранее спасибо.
r3al
$A = $_GET["num"];
$FILE = fopen("dat","a+");
if ($FILE){
fwrite ($FILE, " ");
fwrite ($FILE, $A);
}
else {
echo "<br>File wasn't created!!!";
}
fclose($FILE);

$f = fopen('dat', 'a+');
$num = !isset($_GET['num']) ? '' : $_GET['num'];
fwrite($f, $num . ' ');
fclose($f);
UR5FDG
user posted image
Переделал, все равно 2-а раза пишет
walerus
Именно с использованием fopen, fwrite, fclose ? или можно иначе ? Например так
$A = $_GET["num"];
file_put_contents( 'file.txt', $A . "\n", FILE_APPEND );


зы: Дописывать в строку или в столбец?, если в строку то, - . "\n" нужно заменить на . " "...
UR5FDG
user posted image

Так же.
walerus
Цитата (r3al @ 9.06.2013 - 09:12)
$A = $_GET["num"];
$FILE = fopen("dat","a+");
if ($FILE){
fwrite ($FILE, " ");
fwrite ($FILE, $A);
}
else {
echo "<br>File wasn't created!!!";
}
fclose($FILE);

$f = fopen('dat', 'a+');
$num = !isset($_GET['num']) ? '' : $_GET['num'];
fwrite($f, $num . ' ');
fclose($f);

Ты подумал перед тем как писать ?, для чего ему писать пустоту в файл??? если нет переменной $_GET['num'] ?, читаем то что пишет ТС, потом уже пробуем думать и в случае успеха, оставляем пост.
walerus
UR5FDG Поставь проверку сколько раз вызывается функция записи...
типа:
$A = $_GET["num"];
echo "Пишем файл<br>\n";
file_put_contents( 'file.txt', $A . "\n", FILE_APPEND );
Для того что бы понять, может быть просто там цикл где то задействован ? и он пишет по 2ва раза...
UR5FDG
Не, цикла нету, я просто пока что учусь писать в файл весь код имеет вид:
<?php

$A = $_GET["num"];
file_put_contents( 'dat', $A . "\n", FILE_APPEND );

echo "<br> Num= ", $A;
echo "<br>", date ("H:i, l F Y");

?>

Писал дату вместе с переменной - оно ее тоже по два раза пишет, и это только если при открытии файла ставить а и а+ если W - то запись один раз
walerus
это не весь код, какой скрипт отправляет данные в этот скрипт? или от куда появляется переменная "num" ?, когда ты ее пытаешься извлечь вот тут
$A = $_GET["num"];
walerus
<?php 

$A = $_GET["num"];
file_put_contents( 'dat', $A . "\n", FILE_APPEND );
echo "ПИШУ ФАЙЛ<br>\n";
echo "<br> Num= ", $A;
echo "<br>", date ("H:i, l F Y");

?>

Выполни этот код и пришли скрин
UR5FDG
Форма в хтмл:
<form action="form_.php" enctype="application/x-www-form-urlencoded">
<p><b>Введите данные:</b></p>
<p><input type="number" name="num" min="1" max="100" value="1" size="3"
<p><input type="submit"></p>
</form>
r3al
Цитата
Ты подумал перед тем как писать ?, для чего ему писать пустоту в файл??? если нет переменной $_GET['num'] ?, читаем то что пишет ТС, потом уже пробуем думать и в случае успеха, оставляем пост.

дитя не человеческое, я лишь дополнил его код что бы нотис не выскакивал, а надо будет ему проверку сделать, сделает. ты не переживай так из-за минусов. со всеми бывает, ты просто сам прежде думай как разговариваешь (:

p.s: кста имя Валера тебе очень подходит, и ещё, как оказалось ты рядышком живешь, Таган.. А я Ростов (: Соседи емае happy.gif
UR5FDG
Цитата

$A = $_GET["num"];
file_put_contents( 'dat', $A . "\n", FILE_APPEND );
echo "ПИШУ ФАЙЛ<br>\n";
echo "<br> Num= ", $A;
echo "<br>", date ("H:i, l F Y");

?>

user posted image
user posted image
walerus
Цитата (r3al @ 9.06.2013 - 09:49)
Цитата
Ты подумал перед тем как писать ?, для чего ему писать пустоту в файл??? если нет переменной $_GET['num'] ?, читаем то что пишет ТС, потом уже пробуем думать и в случае успеха, оставляем пост.

дитя не человеческое, я лишь дополнил его код что бы нотис не выскакивал, а надо будет ему проверку сделать, сделает. ты не переживай так из-за минусов. со всеми бывает, ты просто сам прежде думай как разговариваешь (:

Ты умен не по годам я так вижу, кто проверку ставит после того как открыл файл на запись, это раз, 2е - такими способами избавляться от нотисов !!!, я еще не видел ), проще тогда поставить error_reporting(0) и будь что будет, если ты хотел по умничать и отмазаться от своего бездарного ответа, нужно было код написать так:

if ( isset( $_GET['num'] ) && trim( $_GET['num'] ) != '' )
{
$f = fopen('dat', 'a+');
fwrite($f, trim( $_GET['num'] ) . ' ');
fclose($f);
}
else
echo "Переменной не существует или пуста";
А не так как ты через жопу написал... иди учи мат.часть "дитя не человеческое"...

to UR5FDG этот код примером не является, хотя как вариант, можно и его попробовать :D
walerus
UR5FDG Ну чудес не бывает )), покажи тот файл что отсылает данные, т.е. index.php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.