Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Получение содержимого файла в переменную в виде строки
 
 автор: resett   (01.07.2006 в 15:34)   письмо автору
 
 

Нужно получить содержимое файла в виде переменной, затем это все будет вбиваться в форму, изменяться пользователем, и записываться обратно в файл.

Далее файл используется для полечения списка контента на сайте.

   
 
 автор: CrazyAngel   (01.07.2006 в 15:38)   письмо автору
 
   для: resett   (01.07.2006 в 15:34)
 

В чем проблемма???

   
 
 автор: resett   (01.07.2006 в 15:54)   письмо автору
 
   для: CrazyAngel   (01.07.2006 в 15:38)
 

а низнаю... пробовал нескоко функций, а они выводят все это в браузер (!заметь в строчку все((( ) а когда я делаю echo той переменной в которой все это должно былобы быть там число байт...

Кароч много разных багов... либо вобще не выводится..

Напиши ченить что должно работать.. Просто чтоб считало файл.. ммм... ну например с именем переданным в URL в виде переменной file в переменную $file_data и затем все это дело echo "<textarea>{$file_data}</textarea>";

   
 
 автор: CrazyAngel   (01.07.2006 в 16:25)   письмо автору
 
   для: resett   (01.07.2006 в 15:54)
 

Писать не буду =))))
Вот, сами напишите =)
http://www.softtime.ru/bookphp/gl6_1.php

   
 
 автор: resett   (01.07.2006 в 16:29)   письмо автору
 
   для: CrazyAngel   (01.07.2006 в 16:25)
 

Пасибо конечно.. у меня книга есть.. но я ожидал помощи(((

   
 
 автор: CrazyAngel   (01.07.2006 в 16:29)   письмо автору
 
   для: resett   (01.07.2006 в 15:54)
 

А так ;)


<textarea>
<?
readfile 
("file.txt");
?>
</textarea>

   
 
 автор: resett   (01.07.2006 в 16:37)   письмо автору
 
   для: CrazyAngel   (01.07.2006 в 16:29)
 

Постарел наверно уже... самое интересное что я такое делал ужо, но оно както не прокатывало...

   
 
 автор: resett   (01.07.2006 в 16:42)   письмо автору
 
   для: resett   (01.07.2006 в 16:37)
 

а как убрать в результате размер файла??

<textarea>
<?
$data 
readfile ("file.txt");
echo 
$data;
?>
</textarea>


результат...


<textarea>
asdasdasd
asasdasasaddas
asasddsadadasdsaf
ddfdffdf54</textarea> 


Ну а файл соответственно не содержит цифарку 54...

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

ага еще в названии темы написано что мне нужен не просто результат в браузере, а переменная с этим результатом, формата 1str\n2str\n3str

   
 
 автор: RV   (01.07.2006 в 16:46)   письмо автору
 
   для: resett   (01.07.2006 в 16:42)
 

file()
циклом выводим в переменную а потом выводим переменную

   
 
 автор: resett   (01.07.2006 в 16:47)   письмо автору
 
   для: RV   (01.07.2006 в 16:46)
 

Опятьже эта функция даст мне массив! а формат переменной нужен именно такой...

Нука... как результ цикла запихнуть в переменную... а то чегото у меня не получилось((
Обясните..

   
 
 автор: CrazyAngel   (01.07.2006 в 16:49)   письмо автору
 
   для: resett   (01.07.2006 в 16:47)
 

А вообще зачем вам переменная??? мой вариант должен работать без переменной =))

можно еще include использовать =)

   
 
 автор: RV   (01.07.2006 в 16:59)   письмо автору
 
   для: CrazyAngel   (01.07.2006 в 16:49)
 


<?php
$file 
file($file);
$str "";
foreach (
$file as $key => $val) {
    
$str .= $val "\n";
}
echo 
$str;
?> 

   
 
 автор: resett   (01.07.2006 в 17:08)   письмо автору
 
   для: RV   (01.07.2006 в 16:59)
 

Чето нийуха не получается.. обидно...

Кароч.. может так будет.. понятней.. нужно просто сделать txt редактор который при просто запуске только считывает файл, а когда мы допишем в текстарею еще кусочек и нажмем кнопочку "обновить" он должен записать содержимое текстареи в тотже файл... млин.. вроде просто, но чегото нихрена не выходит..

   
 
 автор: RV   (01.07.2006 в 17:16)   письмо автору
 
   для: resett   (01.07.2006 в 17:08)
 

а запятую на точку не судьба исправить? у меня почему то все выводит как в файле

   
 
 автор: resett   (01.07.2006 в 17:19)   письмо автору
 
   для: resett   (01.07.2006 в 17:08)
 

Млин... сам дошел... этож нада... постарел..


<?
error_reporting
("E_NONE");

if(
$todo == "update")
{
    
$fd fopen("file.txt","w");
    
fwrite($fd,$new_data);
    
fclose($fd);
}
?>

<form method="POST" action="index.php">
<textarea rows="14" name="new_data" cols="49">
<?
$data 
file('file.txt');
foreach(
$data as $key => $val)
{
echo 
$val;
}
?>
</textarea>
<p>
<input type="submit" value="Отправить" name="B1">
<input type="reset" value="Сброс" name="B2">
<input type="hidden" name="todo" value="update">
</p>
</form>

   
 
 автор: resett   (01.07.2006 в 17:41)   письмо автору
 
   для: resett   (01.07.2006 в 17:19)
 

Воо! нашел способ из массива получить переменную моего формата:


$arr_string = implode("\n",$data);

   
 
 автор: antf   (01.07.2006 в 18:34)   письмо автору
 
   для: resett   (01.07.2006 в 17:41)
 

Вот несколько способов:
$str - строка
$filename - имя файла

Способ первый (самый легкий):
$str = file_get_contents($filename);

Способ второй (можно использовать в php3)

$array = file($filename);
$str = implode($array)

Способ третий: немного громоздкий, но универсальный
<?
$fp 
= @fopen($filename'r');
if(!
$fp)
{
  print 
'error';
  exit;
}
while(!
feof($fp))
{
  
$str $str fgets($fp8192);
}
fclose($fp)
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования