php.hr
Dobrodošli, Gost. Molimo, prijavite se ili se registrirajte.
23.01.2025., 06:22
1878 Postova 1000 Tema 442 Članova
Najnoviji Član: medolino
php.hr  |  PHP & MySQL  |  PHP  |  rad sa datotekama « natrag naprijed »
 Str: [1]
Autor Tema: rad sa datotekama  (Posjeta: 3851 )
kasper
Novi član
*
Offline Offline

Spol: Muški
Postova: 4



Profil
« : 10.12.2006., 02:32 »

Ovaj program bi trebao otvoriti file "ime.txt" i spremiti njegov sadrzaj u polje $lines na nacin da svaki redak u file-u "ime.txt" bude jedan element polja. Zatim bi se svakom elementu polja trebao dodati nastavak ".txt" i otvoriti tako stvoren file koji se vec nalazi na serveru (npr. ako je $lines[0] = "ivan", tada bi trebalo otvoriti file "ivan.txt"). Zatim bi trebalo da se svaki redak iz tog file-a (ivan.txt) spremi u jedan element polja $elementi. Ja sam to zamislio ovako, ali javlja mi gresku kod dodavanja ekstenzije ".txt":

Kod: (php)
$file = "ime.txt";
$fp = fopen($file, "r") or die();
$vri = file($file);
$lines = array_reverse($vri);
$i = sizeof($lines);

while($i>=0)
{
$file2[$i] = "$lines[$i].txt";
$fp2 = fopen($file2[$i], "r") or die();
$file3[$i] = file($file2[$i]);
$elementi[$i] = array_reverse($file3[$i]);
echo $elementi[$i];
fclose($fp2);
$i--;
}

fclose($fp);

Mozda ima jos gresaka, ali ne znam dok ovo ne rijesim. Molim pomoc!
« Zadnja izmjena: 10.12.2006., 08:48 davorin » Evidentirano
davorin
Administrator
Član
*****
Offline Offline

Spol: Muški
Postova: 85



Profil WWW
« Odgovor #1 : 10.12.2006., 08:52 »

Probaj umjesto

Kod: (php)
$file2[$i] = "$lines[$i].txt";

napisati

Kod: (php)
$file2[$i] = $lines[$i] . ".txt";

ili

Kod: (php)
$file2[$i] = "${lines[$i]}.txt";
Evidentirano

It is by will alone I set my mind in motion. It is by the juice of Sapho that thoughts acquire speed, the lips acquire stains. The stains become a warning. It is by will alone I set my mind in motion.
kasper
Novi član
*
Offline Offline

Spol: Muški
Postova: 4



Profil
« Odgovor #2 : 10.12.2006., 10:44 »

Ne radi ni tako, javlja gresku:

Warning: fopen(.txt) [function.fopen]: failed to open stream: No such file or directory in D:\AppServ\www\proba.php on line 9

Probao sam jos i:

$file2[$i] = $lines[$i]".txt";

$file2[$i] = "$lines[$i]". "txt";

$file2[$i] = "$lines[$i]."."txt";

$file2[$i] = "$lines[$i]."."txt";

$file2[$i] = "$lines[$i]".".txt";

Ali stalno trazi file ".txt" da ga otvori, a ne spaja ga sa elementom polja.
Evidentirano
davorin
Administrator
Član
*****
Offline Offline

Spol: Muški
Postova: 85



Profil WWW
« Odgovor #3 : 10.12.2006., 12:02 »

Nakon $lines = array_reverse($vri); dodaj print_r($lines); da vidis sto uopce imas u toj varijabli (i da li uopce imas sto u njoj).
Evidentirano

It is by will alone I set my mind in motion. It is by the juice of Sapho that thoughts acquire speed, the lips acquire stains. The stains become a warning. It is by will alone I set my mind in motion.
kasper
Novi član
*
Offline Offline

Spol: Muški
Postova: 4



Profil
« Odgovor #4 : 11.12.2006., 03:55 »

Prije svega da ti se zahvalim sto mi pokusavas pomoci! Poslusao sam tvoj savjet, i kad ubacim tu liniju daje mi ispis:

Array ([0] => ivan [1] => marko [2] => ante )
 
Warning: fopen(.txt) [function.fopen]: failed to open stream: No such file or directory in D:\AppServ\www\proba.php on line 10

Da podsjetim da na serveru imam fileove "ivan.txt", "marko.txt" i "ante.txt" u kojima se nalazi nekakav zapis red po red koji poslije trebam spremiti u neko polje.

: 10.12.2006., 21:48
Evo da malo ispravim svoj pocetni program. Vidio sam da sam petlju while krivo napravio, i usput sam unio male modifikacije, pa evo ispravak cijelog programa:
Kod: (php)
$file = "ime.txt";
$fp = fopen($file, "r") or die();      // otvara datoteku "ime.txt" za citanje
$vri = file($file);                          // svaka linija file-a "ime.txt" je jedan element polja $vri
$lines = array_reverse($vri);       // spremaju se u polje $lines drugim redosljedom
print_r($lines);                           // ispis polja
$i = sizeof($lines);                     // postavljanje brojaca $i na velicinu polja $lines
// do sada radi, ali dalje ne
$j = 0;                                      // brojac $j na nulu
while($j<=$i){                          // petlja se vrti onoliko puta koliko ima elemenata u polju $lines
$file2[$j] = $lines[$j];               // sada je postupak gotovo identican onome gore
$fp2 = fopen($file2[$j], "r") or die(); // javlja gresku
$elementi = file($file2[$j]);
print_r($elementi);
fclose($fp2);
$j++;
}
fclose($fp);

A sada sam napravio testni program da vidim radi li ostalo, tj. rucno sam dodao ekstenziju .txt u par linija koje se nalaze u file-u ime.txt:
Kod: (php)

$file = "ime.txt";
$fp = fopen($file, "r") or die();
$vri = file($file);
$lines = array_reverse($vri);
print_r($lines); // ispise mi "Array ([0] => ivan.txt [1] => marko.txt [2] => croatia.txt )"
$i = sizeof($lines); // i=3

// moram ovako napisati da bi petlja radila, premda su mi ispravno spremljeni u polje $lines:
$lines[0] = "ivan.txt";
$lines[1] = "marko.txt";
$lines[2] = "ante.txt";
$j = 0;

while($j<=$i){
$fp2 = fopen($lines[$j], "r") or die();
$elementi = file($lines[$j]);
print_r($elementi);
fclose($fp2);
$j++;
}
fclose($fp);

Ovako program radi, sprema sadrzaj od "ivan.txt", "marko.txt" i "ante.txt" u polje,  ostaje problem dodavanja ekstenzije elementu polja.
« Zadnja izmjena: 12.12.2006., 07:11 ttc » Evidentirano
davorin
Administrator
Član
*****
Offline Offline

Spol: Muški
Postova: 85



Profil WWW
« Odgovor #5 : 11.12.2006., 15:40 »

Mozda iz ovog uspijes izvuci ono sto ti treba.

Kod: (php)
<?

// ucitavam imena
$imena = file("./imena.txt");

// svakom imenu dodajem .txt
$brojac=0;
foreach($imena as $ime)
{
$novi_niz[$brojac] = trim($ime) . ".txt";
$brojac++;
}

// prikaz rezultata
print_r($novi_niz);

?>
Evidentirano

It is by will alone I set my mind in motion. It is by the juice of Sapho that thoughts acquire speed, the lips acquire stains. The stains become a warning. It is by will alone I set my mind in motion.
kasper
Novi član
*
Offline Offline

Spol: Muški
Postova: 4



Profil
« Odgovor #6 : 13.12.2006., 00:08 »

Ova funkcija trim () me spasila, vec sam poceo gubiti nadu! Zahvaljujem Davorinu na pomoci!
Evidentirano
 Str: [1]
php.hr  |  PHP & MySQL  |  PHP  |  rad sa datotekama « natrag naprijed »
    Skoči na: