Jump to content
php.lv forumi

nolasīt no txt faila


loderis

Recommended Posts

vajag mazu palīdzību.

tātad ir viens fails - teksts.txt

kura saturs izskatās šādi:

 

kaut_kads_fails.exe apraksts ar atstarpēm
kaut_kads_fails2.doc apraksts ar atstarpēm
kaut_kads_fails3.exe apraksts ar atstarpēm

 

visi faila nosaukumi ir bez atstarpēm.

varbūt var arī nomainīt " " pēc "kaut_kads_fails.exe" ar kādu citu simbolu?

 

vajag to saturu tabūt iekšā manīgajos (array'os , laikam tā saucās)

$faili[0] $faili[1] utt

un

$apraksts[0] $apraksts[1] utt

Link to comment
Share on other sites

nu viena no metodēm:

Ielasām kārtējo faila rindiņu mainīgajā.

Sadalām mainīgo masīva elementos ar explode(' ', $mainigais)

masīva 0-tais elements būs faila nosaukums - tātad to pievienojam masīvam $faili

visu pārējo izņemot 0-to elementu ar implode(' ', $masivs) ieliekam kā masīva $apraksts elementu.

atkārtojam, kamēr nav beidzies fails.

Link to comment
Share on other sites

atkārtojam, kamēr nav beidzies fails.

tas ir kā?

es izštukoju kaut ko tādu"

 

$f=file('tekts.txt');
$b='0';
while(($mainigais=readfile($f)) != false) {
$faili[$b]=explode(' ', $mainigais);
$apraksts[$b]=implode(' ', $mainigais);
$b++;
}

 

tieši nav skaidrs ko rakstīt tajā while nosacījumā.

Link to comment
Share on other sites

$f = file("text.txt");
foreach($f as $rinda) {
   $mainigie = explode(' ',$rinda);
   $faili[] = array_shift($mainigie);
   $apraksti[] = implode(' ',$mainigie);
}

Laikam gan labāk būs lietot kādu citu simbolu lauku atdalīšanai, piem. '|' vai '·' .

Edited by john.brown
Link to comment
Share on other sites

paldies par atsaucību, es to atrisināju šādi

<?
$f=fopen('teksts.txt','r');
$b="0";

while(!feof($f)) {
$m=fgets($f);
$a=explode('|',$m,2);
$faili[$b]=$a[0];
$apraksts[$b]=$a[1];
$b++;
}

fclose( $f );
?>

paņemšu idejas vēl no iepriekšējā posts un kods būs gatavs :)

 

lūk gala rezultāts:

<?
$f=file('cont.txt');
$b="0";
while($ff=array_shift($f)) {
$a=explode('|',$ff,2);
$faili[$b]=$a[0];
$apraksts[$b]=$a[1];
$b++;
}
?>

vēlreiz paldies.

Edited by loderis
Link to comment
Share on other sites

tikai besī ārā

$b="0";

 

ko tu šeit dari? mainīgajā, kurā tālāk būs veselskaitlis bāz skaitli, kas ir pārtaisīts par tekstu (resp. tekstu), pie tam nevis vismaz prātīgu tekstu - '0'.

 

$b=0; un MIERS!

Lūk tieši šo lietu dēļ mācīties programmēt iesaka ar Pascal vai kautko tamlīdzīgu - ļoti iedresē būt kārtīgam un pēc iespējas racionālāk izmantot definētos mainīgos. (-;

Link to comment
Share on other sites

radās neliels jautājums, man lapa satur sekojošu rindu:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

lapā tiek izmantota include funkcija, kur tiek lapā ievienots utf-8 txt fails, uz firefox itkā viss ok, bet uz IE man pirms ievietotā teksta ir iekļauts "enter" (nu kvadrātiņš).

kā to novērst?

Link to comment
Share on other sites

  • 1 month later...

taisot špikeri sesijai, radās maza problēma.

uztaisīju formu, kurā caur post nosūtam textu uz blabla.php,

tas savukārt apstrādājot ieraksta text failā, problēmas rodas sūtot piemēram <a>, atveras logs "Access forbidden!.... You don't have permission to access the requested object..." problēma servera konfigurācija vai kur citur?

Link to comment
Share on other sites

pirmā lapa satur:

   <form method="post" action="addfile.php">
   <font class="text">filename</font>
   <input class="textbox" type="text" name="fname" /><br/>
   <textarea class="textbox" name="c" cols="60" rows="10"></textarea><br/>
   <input class="button" type="submit" value="add"/>
   </form>

ierakstot kādā no logiem, piemērām "<a>", speižot submit, atverās lapa:

Access forbidden!

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

viss notiek, rakstot parastu tekstu, gan ar garumzīmēm, arī ja ieraksta "<a"

 

ai kamēr rakstīju iegāju logos un:

[Fri Jan 21 12:07:00 2005] [error] [client xxx.xxx.xxx.xxx] mod_security: Access denied with code 403. Pattern match "<(.|\\n)+>" at POST_PAYLOAD [hostname "xxxx.lv"] [uri "/addfile.php"]

kļūda atrasta:)

Link to comment
Share on other sites

×
×
  • Create New...