Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как работать с файлами, требуется срочных хелп 
:(
    Опции темы
Alone
Дата 23.12.2004, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 1
Всего: 6



Цитата(Mal @ 21.12.2004, 22:57)
Alone
Эти телодвижения - надежнее, поскольку при fopen файл может и не создаться...
Вот в чем вся фишка. touch(); создает файл в любом случае (ну кгда пермишенны есть).

Кхм... а как такое может быть что touch создаст файл а fopen не сможет? smile
Читайте доки, они рулез...


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Alone
Дата 23.12.2004, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 1
Всего: 6



ALEXANDRO У тебя в приведеном тексте 2 ошибки.
на одну указал Opr (забыл кавычки в дате)
а вторая в строке fputs($file,$msg"\n"); пропущена точка перед "\n"

вот для примера работающий код

Код

<?
$name="aaa";
$mail="[email protected]";
$city="muhosransk";
$msg="test...";

$data=date("d:m:h");

$file=fopen("/hosts/vhost9/msg_".$name."_".$data.".txt", "a+");

fputs($file,$name."\n");
fputs($file,$mail."\n");
fputs($file,$city."\n");
fputs($file,$msg."\n");
fclose($file);
?>


а вот результат:

Код

# cat msg_aaa_23:12:12.txt
aaa
[email protected]
muhosransk
test...

Не забудь проверить права записи в каталоги...
Удачи...


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Bangladesh
Дата 23.12.2004, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



Код

<?

$data=date("d:m:y");
$file=fopen("message/msg_".$name."_".$data.".txt", "a+");
fputs($file,$name."\n");
fputs($file,$mail."\n");
fputs($file,$city."\n");
fputs($file,$msg."\n");
fclose($file);

?>


smile ну не работает он smile


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Osrus
Дата 23.12.2004, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 4.12.2004

Репутация: нет
Всего: 3



Код

$file=fopen("message/msg_".$name."_".$data.".txt", "w+");
$file_handle = fopen('filename','a');  

А объясните мне теменоте зачем тут handle? Это переменная?
Какова ее функция, в смысле для чего она ?

Это сообщение отредактировал(а) Osrus - 23.12.2004, 01:42


--------------------
Шагнул на скользкий путь красноглазия...
Long live Socialism!
PM MAIL ICQ   Вверх
Bangladesh
Дата 23.12.2004, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

Репутация: нет
Всего: 17



не вижу в упор


--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Osrus
Дата 23.12.2004, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 443
Регистрация: 4.12.2004

Репутация: нет
Всего: 3



Я тоже но может кто-нибудь прояснит ситуацию... зачем вообще этот handle?


--------------------
Шагнул на скользкий путь красноглазия...
Long live Socialism!
PM MAIL ICQ   Вверх
Alx
Дата 23.12.2004, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



Цитата(Alone @ 23.12.2004, 01:16)
ALEXANDRO У тебя в приведеном тексте 2 ошибки.
на одну указал Opr (забыл кавычки в дате)
а вторая в строке fputs($file,$msg"\n"); пропущена точка перед "\n"

smile smile smile

а я-то тут причем??? smile smile
Добавлено @ 07:31
Osrus
нет тут никакого handle!


--------------------
PM MAIL WWW ICQ   Вверх
Alone
Дата 23.12.2004, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 1
Всего: 6



Ай... сорри smile не в туда ткнул ;)
адресовано I, GyoZ


Цитата
А объясните мне теменоте зачем тут handle? Это переменная?
Какова ее функция, в смысле для чего она ?


Эта переменная содержит ссылку на ресурс. Проще говоря дескриптор открытого файла.


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 23.12.2004, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Ой господи... прости... показываю в последний раз:

Код

<?php
if(isset($_POST['name'])) {
$FilePath = 'messages.db';

if(!file_exists($FilePath)) { // Если файл не существует, пытаемся его создать.
 $fh = fopen($FilePath, 'w') or die("Невозможно создать файл, проверьте права на запись в текущей директории"); // Если файл на создался, прекращаем выполнение скрипта и выводим ошибку.
 fclose($fh);
}

if(!is_writable($FilePath)) { // Если прав на запись нет, пытаемся их присвоить.
 chmod($FilePath, 0666);
 if(!is_writable($FilePath)) die("Не удалось назначить на файл права записи"); // Если не вышло, прекращаем выполнение скрипта и выводим ошибку.
}

$fh = fopen($FilePath, 'a+'); // открываем файл на чтение и запись.
flock($fh, LOCK_EX); // Блокируем файл чтобы не произошло ошибки при совместной записи
fputs($fh,
 $_POST['name']."|".
 $_POST['email']."|".
 str_replace(array("\r\n", "\r", "\n"), "", htmlspecialchars($_POST['message']))."|".
 date("d/m/Y H:i")."\r\n"
);
flock($fh, LOCK_UN); // Разблокируем файл
fclose($fh); // Закрываем
} else {
?>
<form action="?1" method="post">
Имя: <input type="text" name="name"><br>
Адрес электронной почты: <input type="text" name="email"><br>
Сообщение:<br>
<textarea name="message"></textarea><br>
<input type="submit" name="submit" value="Итц окэй">
</form>
<?php
}
?>

Я это не тестировал, но думаю что должно работать.

PS В массиве $_POST содержаться данные из полей формы. Подробнее о глобальных переменных Вы можете прочесть в ФАКе.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Darked
Дата 23.12.2004, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



Цитата(Alone @ 23.12.2004, 01:16)
fputs($file,$name."\n");
fputs($file,$mail."\n");
fputs($file,$city."\n");
fputs($file,$msg."\n");


А зачем в конце ставить точку?
И я смотрю, кто - то пишет fopen($FilePath, 'a+'), а кто - то и fopen($FilePath, "a+") Что ли без разницы тавить ' или " ?



--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
Alone
Дата 24.12.2004, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: 1
Всего: 6



Ты про какую точку?
fputs($file,$msg."\n"); про эту чтоль?
Так это всётаки 3й класс, 2я четверть...

Конкатенация (объединение) строк.
В переменной $msg находится строка для записи в файл. Но к строке нужно добавить грубо говоря "ентер" (перевод строки)
Вот его и присоединяют путем конкатенации $msg и "\n"

Добавлено @ 00:26
IZ@TOP Ну после такого объяснения и мартышка на пхп писать сможет!
Браво! smile


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 24.12.2004, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Darked, одинарные кавыки непозволяют интерпертировать переменные, а не передавать параметры!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.6707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.