loderis Posted November 22, 2004 Report Posted November 22, 2004 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
Aleksejs Posted November 22, 2004 Report Posted November 22, 2004 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.
loderis Posted November 22, 2004 Author Report Posted November 22, 2004 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ā.
john.brown Posted November 22, 2004 Report Posted November 22, 2004 (edited) $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 November 22, 2004 by john.brown
Venom Posted November 22, 2004 Report Posted November 22, 2004 $lines=file('apraksti.txt'); $tmp=0; $files=$desc=array(); while($line=array_shift($lines)) { $tmp++; $firstspace=strpos($line,' '); $files[$tmp]=substr($line,0,$firstspace); $descr[$tmp]=substr($line,$firstspace+1); }
loderis Posted November 22, 2004 Author Report Posted November 22, 2004 (edited) 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 November 22, 2004 by loderis
Venom Posted November 22, 2004 Report Posted November 22, 2004 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!
Aleksejs Posted November 22, 2004 Report Posted November 22, 2004 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. (-;
loderis Posted November 22, 2004 Author Report Posted November 22, 2004 gadus atpakaļ vidusskolā tika itkā mācīts Pascal, kaut kādi pamati galvā jau ir palikuši. nevar jau visu atcerēties :D
loderis Posted November 23, 2004 Author Report Posted November 23, 2004 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?
Venom Posted November 23, 2004 Report Posted November 23, 2004 tev tas, ar ko tu taisīji to failu ielika dažus apraksta bitus, tie ir jānoņem
loderis Posted January 20, 2005 Author Report Posted January 20, 2005 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?
Venom Posted January 21, 2005 Report Posted January 21, 2005 nu tad pabeidz līdz galam - kas par object? varbūt vienkārši uz cita servera nav tiesību rakstīt failos?
loderis Posted January 21, 2005 Author Report Posted January 21, 2005 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:)
Recommended Posts