Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запист и чтение переменной из файла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: без кнопок и форм
NeuroZ
Отправлено: 15 Мая, 2012 - 19:48:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Есть 2 файла. 1.php и 2.php
Можно ли при запуске первого файла извлечь и записать переменную во второй файл?
И как потом обращаться к этой переменной из первого файла?
 
 Top
Alho
Отправлено: 15 Мая, 2012 - 19:53:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




NeuroZ пишет:
Есть 2 файла. 1.php и 2.php
Можно ли при запуске первого файла извлечь и записать переменную во второй файл?
И как потом обращаться к этой переменной из первого файла?


Не совсем понятно, чего ты хочешь этим добиться.

Как я понимаю твои слова - банально записываешь во второй файл записываешь переменную. А когда она вновь потребуется считаешь ее.
http://www.php.su/fopen
fwrite
fclose" target="_blank">fopen
fwrite
fclose

(Отредактировано автором: 15 Мая, 2012 - 19:54:42)

 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 19:58:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. $lastTime = $curTime;
  2.         $tmpFile = 'temp.php';
  3.         if (is_writable($tmpFile)) {
  4.         $handle = fopen('/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/'.$tmpFile);
  5.         fwrite($handle, $lastTime);
  6.         fclose($handle);
  7.         }

Но почему-то этот код ничего не записывает...
(Добавление)
Я так понимаю - это минута написать работающий код. Для записи. И минута на код для чтения. Так помогите же.. напишите правильный код...
 
 Top
Alho
Отправлено: 15 Мая, 2012 - 20:05:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




А ошибок не выдает?

Во-первых, бессмысленная проверка - она проверяет в текущей папке, а пытаетесь записать в другой.
Во-вторых,
PHP:
скопировать код в буфер обмена
  1. fopen('/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/'.$tmpFile, "a");
 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 20:11:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




И куда он запишет? В конец строки? Но конец строки у нас "?>" получается за php тег...
Или надо записать всю строку: <php $lastTime; ?> ?
Тогда что будет происходить при повторном вызове первого файла? Будет добавляться еще одна такая строка?
 
 Top
Alho
Отправлено: 15 Мая, 2012 - 20:16:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




PHP:
скопировать код в буфер обмена
  1. file_put_contents ( '/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/tmp.php' , $curTime); //запись
  2.         $curTime = file_get_contents('/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/tmp.php');  //чтение
  3.  
  4.         //если нужно сохранять все значения, то
  5.         file_put_contents ( '/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/tmp.php' , "||".$curTime, FILE_APPEND); //запись
  6.         $tmp = explode(file_get_contents('/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/tmp.php'));  
  7.         $curTime = $tmp["||", count($tmp)];  //чтение


- как объясняешь, то и получаешь Подмигивание
Почему так мало людей сразу говорит, что им собственно нужно! Что должно быть в результате? ЧТо во втором файле?

(Отредактировано автором: 15 Мая, 2012 - 20:19:56)

 
 Top
Muxa
Отправлено: 15 Мая, 2012 - 20:21:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




NeuroZ пишет:
тогда что будет происходить при повторном вызове первого файла? Будет добавляться еще одна такая строка?
а кто тебе мешает допустим очистить содержимое файла перед записью если у тебя всего одна строка?
 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 20:26:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Ошибка
Warning: file_put_contents(/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/temp.php) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/xmlfeeds.localflorist.b loomex.ca/xmlscheme-WORK2.php on line 116

Вообще что хочу:
Есть код, есть переменная $currentTime.
$lastTime = $currentTime;
Теперь надо сохранить $lastTime,
Чтобы когда пхп файл запускался повторно наш (там по коду необходим)
if ($lastTime < $currentTime)
срабатывал.

Для этого я решил что надо переменную в отдельный файл записать, чтобы там хранилась... но не получается...
 
 Top
Muxa
Отправлено: 15 Мая, 2012 - 20:30:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




поставьте права на запись файла скрипту
 
 Top
Alho
Отправлено: 15 Мая, 2012 - 20:33:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




NeuroZ пишет:
Ошибка
Warning: file_put_contents(/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/temp.php) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/xmlfeeds.localflorist.b loomex.ca/xmlscheme-WORK2.php on line 116

1) Читаем ошибку - нет прав для записи.
2)Теперь легче. Предлагаю простой вариант.
PHP:
скопировать код в буфер обмена
  1. include("tmp.php");
  2. file_put_contents ( 'tmp.php' , "<"."? $"."curTime=".$curTime."; ?".">");
  3.  
 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 20:34:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Я не знаю как это сделать в функции file_put_contents..
А на такой код тоже ругается :
CODE (htmlphp):
скопировать код в буфер обмена
  1. $lastTime = '<?php'.$lastTime.'?>';
  2. $handle = fopen('/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/temp.php', "w+");
  3. fwrite($handle, $lastTime);
  4. fclose($handle);

(Добавление)
И такое не робит
CODE (htmlphp):
скопировать код в буфер обмена
  1. $lastTime = '<?php'.$lastTime.'?>';
  2. file_put_contents ( '/var/www/xmlfeeds.localflorist.bloomex.ca/XMLOrders/temp.php' , "<"."? $"."lastTime=".$lastTime."; ?".">");
 
 Top
Muxa
Отправлено: 15 Мая, 2012 - 20:39:32
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




PHP:
скопировать код в буфер обмена
  1. $f=fopen("file.txt","a+");
  2. ftruncate($f,0);
  3. fwrite($f,$LastTime);
  4. fclose ($f);
  5. // и потом где то
  6. $f=fopen("file.txt","a");
  7. $currentTime=fread($f, 300);
  8. if($currentTime<$LastTime)
  9. { ....
  10.  

P.S. ошибка все равно будет, пока вы не поставить права на запись файлу, вам на это уже третий раз указывают
 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 20:39:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




1

(Отредактировано автором: 15 Мая, 2012 - 20:40:20)

 
 Top
Muxa
Отправлено: 15 Мая, 2012 - 20:41:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




Muxa пишет:
поставьте права на запись файла скрипту
Alho пишет:
1) Читаем ошибку - нет прав для записи.
Muxa пишет:
P.S. ошибка все равно будет, пока вы не поставить права на запись файлу, вам на это уже третий раз указывают
 
 Top
NeuroZ
Отправлено: 15 Мая, 2012 - 20:51:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Спасибо! В тхт получается записать запись.
Но проблема в том, что эти значения записываются в конце первого файла, до этого идут циклы, с операциями над разными данными. А подключить (записать в переменную) нужно перед циклами, следовательно вотэтовот
CODE (htmlphp):
скопировать код в буфер обмена
  1. $f=fopen("file.txt","a");
  2. $currentTime=fread($f, 300);

не робит ((
Сие заключение сделал, пытаясь вывести на экран $currentTime...
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB