Главная страница
    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.093 c
15-1329058787
Чебурашка
2012-02-12 18:59
2013.03.22
Вызов функции в чужом процессе


2-1341990007
sas9568635
2012-07-11 11:00
2013.03.22
Получение кода нажатых клавиш формы запущенной как Form.Show


15-1351849926
Dmitry87
2012-11-02 13:52
2013.03.22
редактор контролов


15-1339284234
alexdn
2012-06-10 03:23
2013.03.22
Ориентация планшетов


8-1227640604
Vetal
2008-11-25 22:16
2013.03.22
Вывод изображения в GDI+





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский