Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

php, запись в тхт   Найти похожие ветки 

 
alexdn ©   (2012-08-04 23:12) [0]

Там буквально три строчки,
$f = fopen("textfile.txt", "w");
fwrite($f, "PHP is fun!");
fclose($f);
только не понятно, если эту команду повторить несколько раз, как будут расположены строчки в итоге? т.е. это будет как write или writeln? и как вместо текста подставить комбинацию переменных $x и $z


 
xayam ©   (2012-08-04 23:19) [1]


> только не понятно, если эту команду повторить несколько
> раз, как будут расположены строчки в итоге? т.е. это будет как write или writeln?

fwrite($f, "PHP is fun!\n");

перенос строки можешь вставить в строку

>  и как вместо текста подставить комбинацию переменных $x
> и $z

fwrite($f, "$x is $z!\n");

кавычки обязательно двойные

или так не обязательно:

fwrite( $f, $x . " is " . $z . "!\n" );


 
xayam ©   (2012-08-04 23:22) [2]


> fwrite( $f, $x . " is " . $z . "!\n" );

fwrite( $f, $x . " is " . $z . "!\n" );


 
xayam ©   (2012-08-04 23:24) [3]

[2] Знаки \n \t и т.д. должны быть в двойных кавычках обязательно насколько я помню, иначе это будет восприниматься как строка обычных неуправляющих символов


 
xayam ©   (2012-08-04 23:30) [4]

к тому же если $x это массив и тебе нужно вывести определенный элемент, то вся конструкция заключается в фигурные скобки:

числовой индекс
fwrite($f, "...{$x[3][2]} is $z...");

или ассоциативный
fwrite($f, "...{$x["Индекс раз"]["Индекс два"]} is $z...");


 
alexdn ©   (2012-08-05 00:12) [5]

> xayam ©   (04.08.12 23:30) [4]
спасибо) нет, без массивов, просто переменные).


 
xayam ©   (2012-08-05 00:36) [6]


> нет, без массивов, просто переменные

если нужно что-то повторять, то это обычно цикл, а раз цикл, то и массивы очень кстати :)


 
Омлет ©   (2012-08-05 00:58) [7]

Используй file_put_contents.


 
alexdn ©   (2012-08-05 07:31) [8]

> xayam ©   (04.08.12 23:19) [1]
а fopen открывает файл перезаписывая/обнуляя его?


 
Inovet ©   (2012-08-05 07:41) [9]

> [8] alexdn ©   (05.08.12 07:31)

Нет, fcreate перезаписывает.


 
Inovet ©   (2012-08-05 08:19) [10]

> [9] Inovet ©   (05.08.12 07:41)

fopen c "w" обнулит, с "a" для добавления в конец.

Странно, почему я нашёл это за 5 секунд в Яндексе?
http://yandex.ru/yandsearch?text=php+fopen&lr=62&msid=22877.25915.1344140007.96108
http://php.net/manual/en/function.fopen.php


 
alexdn ©   (2012-08-05 08:56) [11]

а что там со временем?
$d = getdate();
$f = fopen("l.txt", "a");
fwrite($f, "$d[hours].$d[minutes]!\n");
даёт разницу в 15 часов, это они к гринвичу что ли?


 
Inovet ©   (2012-08-05 09:35) [12]

> [11] alexdn ©   (05.08.12 08:56)
> даёт разницу в 15 часов, это они к гринвичу что ли?

Кто? Хостеры?


 
alexdn ©   (2012-08-05 09:42) [13]

> Inovet ©   (05.08.12 09:35) [12]
т.е. это серверное время, марока ещё с переводом


 
wl ©   (2012-08-05 09:47) [14]

блин, с измерением времени вообще беда какая-то. вот есть posix-функция localtime()
http://www.cplusplus.com/reference/clibrary/ctime/localtime/
которая по идее, должна возвращать текущее время, а на деле - на виндовс возвращает действительно местное время, а на симбиане - по гринвичу, и такое во всём. я просто не понимаю, как люди пишут кроссплатформенные приложения. каждый чих буквально надо рассматривать со всех сторон


 
Дмитрий СС   (2012-08-06 09:18) [15]

Ты хочешь дозаписывать в файл формируя страницу? Не очень хорошая идея без блокировки.


 
alexdn ©   (2012-08-06 09:23) [16]

> Дмитрий СС   (06.08.12 09:18) [15]
без блокировки чего? там вообщем не страница, это из файла/скрипта.


 
ProgRAMmer Dimonych ©   (2012-08-06 14:35) [17]

> [16] alexdn ©   (06.08.12 09:23)
> > Дмитрий СС   (06.08.12 09:18) [15]
> без блокировки чего? там вообщем не страница, это из файла/скрипта.

Одновременно может быть запущено несколько копий скрипта. Если они так же одновременно начнут и в файл писать - может получиться что-нибудь, отличное от ожидаемого. flock() в помощь.


 
alexdn ©   (2012-08-06 14:54) [18]

> ProgRAMmer Dimonych ©   (06.08.12 14:35) [17]
> Одновременно может быть запущено несколько копий скрипта.
>  Если они так же одновременно начнут и в файл писать - может
> получиться что-нибудь,
Вот и я думал, но я думал будет обычная ошибка открытия файла..


 
xayam ©   (2012-08-06 15:08) [19]


> http://php.net/manual/en/function.fopen.php
> ...
> Вот и я думал, но я думал будет обычная ошибка открытия файла

документацию ещё внимательно можно прочитать
http://www.php.net/manual/ru/function.fopen.php

...

"c"  Открывает файл только для записи. Если файл не существует, то он создается. Если же файл существует, то он не обрезается (в отличии от "w"), и вызов к этой функции не вызывает ошибку (также как и в случае с "x"). Указатель на файл будет установлен на начало файла. Это может быть полезно при желании заблокировать файл (смотри flock()) перед изменением, так как использование "w" может обрезать файл еще до того как была получена блокировка (если вы желаете обрезать файл, можно использовать функцию ftruncate() после запроса на блокировку).

"c+"  Открывает файл для чтения и записи; иначе имеет то же поведение, что и "c"

...


 
Inovet ©   (2012-08-07 13:02) [20]

> [18] alexdn ©   (06.08.12 14:54)
> Вот и я думал, но я думал будет обычная ошибка открытия файла..

Ты почему не читаешь этот RTFM? Религия запрещает?


 
Inovet ©   (2012-08-07 13:07) [21]

> [19] xayam ©   (06.08.12 15:08)
> обрезать файл

Ну, это обязательно надо для кошерности.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.088 c
15-1348467779
alexdn
2012-09-24 10:22
2013.03.22
phpbb


15-1342729805
Юрий
2012-07-20 00:30
2013.03.22
С днем рождения ! 20 июля 2012 пятница


15-1331817337
QWERTY_
2012-03-15 17:15
2013.03.22
thumbnails


15-1350390543
AV
2012-10-16 16:29
2013.03.22
Узнать свой пароль в текущей сессии oracle


2-1346832461
Levran
2012-09-05 12:07
2013.03.22
порядок вывода записей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский