от .txt в array() чета текстов файл , но как става този ном

bishkot

Registered
Здр,


значи така чета текстов файл който вътре има да речем следното "text1","text2","text3","text4"... и т.н.


чета го така:
Код:
$filename = "test.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));

искам да направя :

$input = array($contents); но не става , т.е. искам това да е равносилно на :


Код:
$input = array ("text1","text2","text3","text4");



Благодаря.
 
За работа с файлове виж това:


http://web-tourist.net/login/login/newsearch.php?wtsearch=z&newsearch=%EF%F0%EE%F1%F2%E8%2B%F4%E0%E9%EB%EE%E2%E5
 
Здравей!

Админ добре те е насочил към двете теми.
Поне урока "файлове за БД" е много добре разработен, надхвърля конкретиката на задачата и във всички случаи си струва да се погледне...

Ако записите са подредени (отделени) в редове, ще ти помогне функцията file();
Тя чете съдържанието на файла и връща масив, чийто елементи са редовете от файла.

Примерен синтаксис:

$filename = "test.txt";
$fm=file($filename); \\функцията - резултатът в масива $фм

$kolko=count($fm)

for ($i=1; $i < $kolko; $i++)\\стандартно обхождане на масив нпр. с Фор
{
echo $fm[$i];
}

Ако имаш по-сложно организирано съдържание (виж темата "файл за БД") или делиш съдържание на ред, можеш да използваш explode();

$niz="123#dryn dryn#oshte neshto";\\някакъв низ, разделен с #

$fm=explode ("#",$niz); \\разделяне на низа по знак #, резултата в масив, който в този случай ще има три елемента

$kolko=count($fm)\\обхождане на масива

for ($i=1; $i < $kolko; $i++)
{
echo $fm[$i];
}

Най-приятното на тези две функции е, че те работят добре в синхрон: с file(); четеше файла, чийто редове предварително си разделил на части с някакъв знак, било то #,&,* или друг и щом ги получиш ред по ред в масив, пресяваш през explode съобразно разделителя.
Няма да навлизам в подробности. Виж в посочените уроци, ако имаш затруднения, ще помагам! :)

Успех!
 
Ами самия ми текстов файл така си го записвам точно както трябва.Искам цялото му съдържание да е в ( ) на array-a. - taka

$input = array (цялото судържание на test.txt);


в test.txt imam нещо такова "sddsg","sadfgas","asfsa,".... и т.н.


В момента като сложа

Код:
$filename = "test.txt";
$handle = fopen($filename, "r");
$info = fread($handle, filesize($filename));

fclose($handle);

$input = array('$info');

$rand_keys = array_rand($input, 1);
$rand = $input[$rand_keys[0]];

echo"$rand";

Ми извежда едно "Array" само. :(
 
Не, не ти е нужно да организираш записа в масив. При четенето на файла, функцията ще ти върне такъв...

Виж това:
http://probna.awardspace.com/demo4/forma.php

Записът ти във файла трябва да е нещо такова като онова, к виждаш във формата:

123
дрън дрън
56 текст
още текст
цифри
5757575 текст

А резултатът, разделен по редове може да видиш във връзките...
 
айде да не те мъчим по твоя код :
Код:
$filename = file("test.txt");
$rand_keys = array_rand($filename);
$rand = $filename[$rand_keys];
echo  $rand;

изкарва произволен ред от файла.
 
Мн благодаря , счупих си главата това да го пиша , но не не го използвах като файл а задавах пъта до самия файл. :?:
 

Back
Горе