frankhaugen Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 jeg trenger litt hjelp til en litt vanskelig greier. Jeg har skrevet et script som viser alle filene, i en mappe, og legger dem inn i en tabell, (fungerer som en drøm), men så vil jeg og hente informasjon fra en textfil som har beskrivelse, (slik at man får opp en celle med navnet og cellen ved siden av har beskrivelsen av 'linken'/fila), det jeg trenger hjelp til er å inarbeide informasjonen fra en txt fil som ligger i hvert av 'directories'-ene, jeg hadde vært svært takknemmelig for all hjelp. -frank Coden jeg har skrevet: (se etter '-----------' som er stedet jeg vil fylle inn texten fra txt filene) <?php if ($_POST['submit']) { copy($_FILES['file']['tmp_name'], $_FILES['file']['name']); } ?> <html> <head> <title>###########.com portal page</title> <style type="text/css"> a:link { color:#0000AA;} a:visited { color:#0000AA;} a:active { color:#0000AA;} body { font-family: Verdana, Arial, Helvetica;} body { background:#BBBBBB} h1 { font-family: Times new roman;} h2, h3, h4, h5, h6 { font-family: Comic sans ms, Arial, Helvetica;} h1 { color:rgb(000,000,000);} h2 { color:rgb(000,000,000);} </style> </head> <body> <center> <table border="1"> <tr> <td colspan="2"> <h2><U>Select a subdir:</U></h2> </td> </tr> <!--the following PHP snippet set up the table with the contents of the origianl directory--> <?php $dir=opendir("."); $files=array(); while (($file=readdir($dir)) !== false) { if ($file != "." and $file != ".." and $file != "index.php" and $file != "count.txt" and $file != "phpsitemap" and $file != "wiki" and $file != "sitemap.xml" and $file != "sitemap.txt") { array_push($files, $file); } } closedir($dir); sort($files); foreach ($files as $file) print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$theData0</p> ------------------------------------------HJELP MEG HER!!!! </td> </tr>"; ?> </table> <!--the following PHP snippet adds 1 unit to a counter file--> <?php $file = "wiki/count.txt"; if (file_exists($file)) { $fp = fopen("$file", "r+"); flock($fp, 1); $count = fgets($fp, 4096); $count += 1; fseek($fp,0); fputs($fp, $count); flock($fp, 3); fclose($fp); } else { echo "Can't find file, check '\$file'<BR>"; } ?> <p> Numer of visitors: <!--the following PHP snippet displays det counter data--> <?php $myFile = "wiki/count.txt"; $fh = fopen($myFile, 'r'); $theData = fread($fh, 5); fclose($fh); echo $theData; ?> </p> <p> <a href="learningphp/learning_php/index.php">specialPHP</a> </p> </center> </body> </html> Lenke til kommentar
Edorph Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 (endret) Tja, du kan prøve å bytte ut dette: foreach ($files as $file) print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$theData0</p> ------------------------------------------HJELP MEG HER!!!! </td> </tr>"; med dette: foreach ($files as $file) { $filesize = filesize($file); $length = $filesize > 100 ? 100 : $filesize; $innhold = is_file($file) ? file_get_contents($file, FILE_TEXT, NULL, 0, $length) : ''; print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$innhold</p> </td> </tr>"; } Endret 7. januar 2009 av Edorph Lenke til kommentar
Edorph Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 (endret) Hmm, misforsto jeg? Det var kanskje ikke innholdet i filene du ville ha i kolonne 2, men en beskrivelse som er hentet fra en annen fil? I så fall kan du prøve noe á la dette.. først lager du fila som inneholder beskrivelsene av de andre filene (forutsatt at det er dette du vil fram til, altså :-)) som ser slik ut navnpaafil1.txt = "Dette er en tøff fil." navnpaafil2.txt = "Dette er en mindre tøff fil." Kall den f.eks. beskrivelser.txt. Så endrer du koden din til noe slik: <?php $dir=opendir("."); $files=array(); $beskrivelser = parse_ini_file('beskrivelser.txt'); while (($file=readdir($dir)) !== false) { if ($file != "." and $file != ".." and $file != "index.php" and $file != "count.txt" and $file != "phpsitemap" and $file != "wiki" and $file != "sitemap.xml" and $file != "sitemap.txt" and $file != 'beskrivelser.txt') { array_push($files, $file); } } closedir($dir); sort($files); foreach ($files as $file){ $beskrivelse = $beskrivelser[$file]; if($beskrivelse == null) $beskrivelse = 'Ingen beskrivelse'; print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$beskrivelse</p> </td> </tr>"; } ?> Endret 7. januar 2009 av Edorph Lenke til kommentar
frankhaugen Skrevet 7. januar 2009 Forfatter Del Skrevet 7. januar 2009 Hmm, misforsto jeg? Det var kanskje ikke innholdet i filene du ville ha i kolonne 2, men en beskrivelse som er hentet fra en annen fil? I så fall kan du prøve noe á la dette.. først lager du fila som inneholder beskrivelsene av de andre filene (forutsatt at det er dette du vil fram til, altså :-)) som ser slik ut navnpaafil1.txt = "Dette er en tøff fil." navnpaafil2.txt = "Dette er en mindre tøff fil." Kall den f.eks. beskrivelser.txt. Så endrer du koden din til noe slik: ...... jeg er forferdelig til å sette ord på ideene mine:P... jeg tror du misforstod... det jeg ønsker at scripptet skal gjøre er å laste inn navnene på alle mappene i mappen som denne PHP-filen ligger i, og så skal den for hver eneste mappe den finner hente en beskrivelse som ligger i mappen nettopp funnet. deretter skal den plassere i en tabell navnet på mappen, og i kolonnen ved siden av skal den skal beskrivelse som ligger i textfilen stå. og selvsagt skal dette være en loop, jeg får bare ikke til å bake inn den delen med beskrivelse... grrrr!!! men takk for forsøket ditt, men det fungerte ikke helt slik jeg ønsker det... -frank Lenke til kommentar
Edorph Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 (endret) Okay, prøver igjen :-) I hver mappe ligger det altså en fil som inneholder beskrivelsen av den mappen. Antar at den heter beskrivelse.txt. <?php $dir=opendir("."); $files=array(); while (($file=readdir($dir)) !== false) { if ($file != "." and $file != ".." and $file != "index.php" and $file != "count.txt" and $file != "phpsitemap" and $file != "wiki" and $file != "sitemap.xml" and $file != "sitemap.txt") { array_push($files, $file); } } closedir($dir); sort($files); foreach ($files as $file){ $beskrivelse = ''; // Hvis denne filen er en mappe, hent beskrivelse fra tekstfil inni den mappen if(is_dir($file)) $beskrivelse = file_get_contents($file . '/beskrivelse.txt'); print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$beskrivelse</p> </td> </tr>"; } ?> Endret 7. januar 2009 av Edorph Lenke til kommentar
frankhaugen Skrevet 7. januar 2009 Forfatter Del Skrevet 7. januar 2009 Okay, prøver igjen :-) I hver mappe ligger det altså en fil som inneholder beskrivelsen av den mappen. Antar at den heter beskrivelse.txt. <?php $dir=opendir("."); $files=array(); while (($file=readdir($dir)) !== false) { if ($file != "." and $file != ".." and $file != "index.php" and $file != "count.txt" and $file != "phpsitemap" and $file != "wiki" and $file != "sitemap.xml" and $file != "sitemap.txt") { array_push($files, $file); } } closedir($dir); sort($files); foreach ($files as $file){ $beskrivelse = ''; // Hvis denne filen er en mappe, hent beskrivelse fra tekstfil inni den mappen if(is_dir($file)) $beskrivelse = file_get_contents($file . '/beskrivelse.txt'); print "<tr> <td> <h4><A href='$file'>$file</a><br/></h4> </td> <td> <p>$beskrivelse</p> </td> </tr>"; } ?> Hey, det virket som bare det:)... trenger litt finpussing, men ellers så er det perfekt... takk for hjelpen:)!!!! -frank Lenke til kommentar
Ueland Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og det vil være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler. Husk at en god emnetittel skal beskrive eller oppsummere hvilket problem du har - ikke at du har et problem. En god emnetittel skal heller ikke kun bestå av et produktnavn. Bruk -knappen i første post for å endre emnetittelen. (Dette innlegget vil bli fjernet ved endring av emnetittel. Ikke kommenter dette innlegget, men gjerne dette innlegget når tittelen er endret, så vil det bli fjernet..) Lenke til kommentar
Epower Skrevet 7. januar 2009 Del Skrevet 7. januar 2009 Istedenfor array_push($files, $file); kan du bruke $files[] = $file; Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå