Avatar billede saudoo Nybegynder
20. marts 2004 - 01:58 Der er 25 kommentarer og
2 løsninger

inkludere fil på side, mid i phpscript

Hej Eksperten,

Hvis man nu f. eks. har et php script som lister nogle billeder op på en side. Og at man vil have en tekstfil, indkluderet (indhold vist :D) under hvert billede. Hvordan kan man så det? :S
Avatar billede taskmgr Nybegynder
20. marts 2004 - 02:04 #1
Du kan gøre det på flere måder... Personligt ville jeg foretrække at smide både tekst og billeder ind i en database, og så hente det hele der fra.

Hvis du vil inkludere en side, bruger du include();
f.eks.


<img src="dit_billede.jpg" alt="" /><br />
<?php
include("filen_som_skal_vises.php");
?>
Avatar billede saudoo Nybegynder
20. marts 2004 - 02:13 #2
tjaa..

Det jeg mener er at jeg har et script.. Dette tar alle billeder fra en mappe, og smider dem op på en side..

og ca. i midten af siden står min "<img" start og slut.

Og det er lige under der jeg skal have min inkludering. Altså imellem '<?php' og '?>'
Avatar billede taskmgr Nybegynder
20. marts 2004 - 02:23 #3
Ok...

Du kan lave noget lignende:

Dine billeder hedder eksempelvis
fisk.jpg
kat.jpg
hund.jpg

Du laver så en txt fil til hvert billede med teksten i:
fisk.txt
kat.txt
hund.txt

Når du henter filerne med opendir() osv, så finder du navnet på billede-filen, og udskriver den tilhørende txt fil med f.eks. readfile($file_basename . ".txt")
Avatar billede saudoo Nybegynder
20. marts 2004 - 02:28 #4
Altså,
Jeg har $file til at angive filens navn.. faktisk med efternavn.
Så smider jeg readfile($file_basename . ".txt"); under ? og så skal jeg kalde filen for f. eks. tonser.jpg.txt ?? :D
Avatar billede taskmgr Nybegynder
20. marts 2004 - 02:30 #5
Når du ikke selv gider at prøve, hvorfor smider du så ikke bare dit script her? :)

Men ja, så bruger du bare $file i stedet for $file_basename
Avatar billede saudoo Nybegynder
20. marts 2004 - 02:34 #6
TJaa.. det er da i orden.. :D Fordi den giver nemlig en hvid skærm i retur. :D

Jeg kan fortælle dig at jeg har brugt det til en swf side istedet..


<font face=verdana size=1>
<?php


$files = array();
$handle = opendir('swf/');
while (false !== ($file = readdir($handle))) {
    if (eregi(".swf$",$file)){
        $filnavn = substr($file,0,strrpos($file, "."));
        $files[] = "<a href=http://funsense.dk/swf.php?swf=swf/$file><img src='swf-lille.gif'

alt='http://www.funsense.dk/swf/$file' border='0'><b>&nbsp;<b>' $filnavn '</b><br>readfile($filnavn . ".txt");<br></a>";
    }
}

$break = 1; // Antal billeder billeder på hver "linje"
$limit = 20; // Antal resultater pr. side
$pages_each_way = 7; // Sider der peger hver vej
$string_output = ''; // Sætter $string_output

/* Calculation */
$total = count($files);
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
$start_point = ($offset-($pages_each_way*$limit) < 0) ? 0 : $offset-($pages_each_way*$limit);
$end_point = ($offset+($pages_each_way*$limit) > $total) ? $total : $offset+($pages_each_way*$limit);
$page_number = ($start_point/$limit)+1;
$break_control = 1;

for($i=$offset;$i<$offset+$limit;$i++) {
    $string_output .= $files[$i].' ';
    if ($break_control == $break) {
        $string_output .= '<br>';
        $break_control = 0;
    }
    $break_control++;
}

$string_output .= '<hr>';
$string_output .= ($offset >= $limit) ? '<a href="?offset='.($offset-$limit).'"><<</a> ' : '<< ';
for ($start=$start_point;$start<$end_point;$start=$start+$limit) {
    $string_output .= ($offset == $start) ? '<b>'.$page_number++.'</b> ' : '<a href="?offset='.$start.'">'.$page_number++.'</a> ';
}
$string_output .= ($total > $offset+$limit) ? '<a href="?offset='.($offset+$limit).'">>></a>' : '>>';

/* Printing */
echo $string_output;
$streng = str_replace('.swf', '', $streng);
?>
</font>
Avatar billede saudoo Nybegynder
20. marts 2004 - 02:35 #7
eller det. :D
Avatar billede saudoo Nybegynder
20. marts 2004 - 02:37 #8
lo2 at der er andre der er så sent oppe.. :D
Avatar billede taskmgr Nybegynder
20. marts 2004 - 10:30 #9
$files = array();
$handle = opendir('swf/');
while (false !== ($file = readdir($handle))) {
    if (eregi(".swf$",$file)){
        $filnavn = substr($file,0,strrpos($file, "."));
        $files[] = "<a href=http://funsense.dk/swf.php?swf=swf/$file><img src='swf-lille.gif' alt='http://www.funsense.dk/swf/$file' border='0'><b>&nbsp;<b>' $filnavn '</b><br>" . readfile($filnavn . ".txt") . "<br></a>";
    }
}
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:17 #10
Det var alts[ også meget sent.. :D
Avatar billede taskmgr Nybegynder
20. marts 2004 - 12:22 #11
Tja :)
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:28 #12
Hm, det indsætter ikke indholdet af min .txt fil. :S

Se:
http://www.funsense.dk/swf-liste.php
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:29 #13
Der er en txt fil der passer til 12 days of chrismas
Avatar billede taskmgr Nybegynder
20. marts 2004 - 12:34 #14
Prøv med:

readfile("swf/" . $filnavn . ".txt")
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:35 #15
:) jeg hæver lige pointene..
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:41 #16
Nu skrive dne 12_days_of_chrisman.txt øverst på hver eneste side. :S
Avatar billede saudoo Nybegynder
20. marts 2004 - 12:41 #17
<html>
<body>
<font face=verdana size=1>
<?php


$files = array();
$handle = opendir('swf/');
while (false !== ($file = readdir($handle))) {
    if (eregi(".swf$",$file)){
        $filnavn = substr($file,0,strrpos($file, "."));
        $files[] = "<a href=http://funsense.dk/swf.php?swf=swf/$file><img src='swf-lille.gif' alt='http://www.funsense.dk/swf/$file' border='0'><b>&nbsp;<b>' $filnavn '</b><br>" . readfile("swf/" . $filnavn . ".txt") . "<br></a>";
    }
}

$break = 1; // Antal billeder billeder på hver "linje"
$limit = 20; // Antal resultater pr. side
$pages_each_way = 7; // Sider der peger hver vej
$string_output = ''; // Sætter $string_output

/* Calculation */
$total = count($files);
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
$start_point = ($offset-($pages_each_way*$limit) < 0) ? 0 : $offset-($pages_each_way*$limit);
$end_point = ($offset+($pages_each_way*$limit) > $total) ? $total : $offset+($pages_each_way*$limit);
$page_number = ($start_point/$limit)+1;
$break_control = 1;

for($i=$offset;$i<$offset+$limit;$i++) {
    $string_output .= $files[$i].' ';
    if ($break_control == $break) {
        $string_output .= '<br>';
        $break_control = 0;
    }
    $break_control++;
}

$string_output .= '<hr>';
$string_output .= ($offset >= $limit) ? '<a href="?offset='.($offset-$limit).'"><<</a> ' : '<< ';
for ($start=$start_point;$start<$end_point;$start=$start+$limit) {
    $string_output .= ($offset == $start) ? '<b>'.$page_number++.'</b> ' : '<a href="?offset='.$start.'">'.$page_number++.'</a> ';
}
$string_output .= ($total > $offset+$limit) ? '<a href="?offset='.($offset+$limit).'">>></a>' : '>>';

/* Printing */
echo $string_output;
$streng = str_replace('.swf', '', $streng);
?>
</font>
</body>
</html>
Avatar billede taskmgr Nybegynder
20. marts 2004 - 12:55 #18
Prøv med det her:

<html>
<body>
<font face=verdana size=1>
<?php


$files = array();
$handle = opendir('swf/');
while (false !== ($file = readdir($handle))) {
    if (eregi(".swf$",$file)){       
        $files[] = $file;           
    }
}

$break = 1; // Antal billeder billeder på hver "linje"
$limit = 20; // Antal resultater pr. side
$pages_each_way = 7; // Sider der peger hver vej
$string_output = ''; // Sætter $string_output

/* Calculation */
$total = count($files);
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
$start_point = ($offset-($pages_each_way*$limit) < 0) ? 0 : $offset-($pages_each_way*$limit);
$end_point = ($offset+($pages_each_way*$limit) > $total) ? $total : $offset+($pages_each_way*$limit);
$page_number = ($start_point/$limit)+1;
$break_control = 1;

for($i=$offset;$i<$offset+$limit;$i++) {
    $filnavn = substr($files[$i],0,strrpos($files[$i], "."));
    $string_output .= "<a href=http://funsense.dk/swf.php?swf=swf/" . $files[$i] . "><img src='swf-lille.gif' alt='http://www.funsense.dk/swf/" . $files[$i] . "' border='0' />&nbsp;'" . $filnavn . "'</a><br>" . readfile("swf/" . $files[$i] . ".txt") . "<br> ";
    if ($break_control == $break) {
        $string_output .= '<br>';
        $break_control = 0;
    }
    $break_control++;
}

$string_output .= '<hr>';
$string_output .= ($offset >= $limit) ? '<a href="?offset='.($offset-$limit).'"><<</a> ' : '<< ';
for ($start=$start_point;$start<$end_point;$start=$start+$limit) {
    $string_output .= ($offset == $start) ? '<b>'.$page_number++.'</b> ' : '<a href="?offset='.$start.'">'.$page_number++.'</a> ';
}
$string_output .= ($total > $offset+$limit) ? '<a href="?offset='.($offset+$limit).'">>></a>' : '>>';

/* Printing */
echo $string_output;
$streng = str_replace('.swf', '', $streng);
?>
</font>
</body>
</html>
Avatar billede saudoo Nybegynder
20. marts 2004 - 13:39 #19
Prøv at se :S  :
http://www.funsense.dk/swf-liste.php

Den laver en masse tomme på sidste side, og alle de .txt filer jeg har lagt ind skriver den øverst. :S
Avatar billede saudoo Nybegynder
20. marts 2004 - 13:40 #20
Og forresten, så skrive den også et mærkeligt tal der hvor teksten skulle have været! :S
Avatar billede saudoo Nybegynder
21. marts 2004 - 17:51 #21
Okay, jeg lukker og prøver igen.

Du kom ikke med et svar, så desværre kan jeg ikke give dig pointene.
Avatar billede saudoo Nybegynder
21. marts 2004 - 17:52 #22
et svar som der duede.. skal der lige tilføjes :D
Avatar billede taskmgr Nybegynder
21. marts 2004 - 18:08 #23
Tjo, jeg gav dig flere eksempler på, hvordan det kan gøres. Det var hvad spørgsmålet lød på.
Avatar billede saudoo Nybegynder
21. marts 2004 - 18:45 #24
tjaa. men jeg kunne ikke få det til at virke, og de eksempler som du viste, satta al teksten i toppen af siden.

Hvis du kan få det lavet, skal jeg self nok give du fler points, end de 50 som nu..
Avatar billede taskmgr Nybegynder
21. marts 2004 - 19:38 #25
Hvor meget prøvede du selv? Formålet med Eksperten er at man skal hjælpes, og ikke præsenteres for en færdig løsning. Det handler om at rode med tingene selv - ellers kan man jo spørge her hver gang der opstår et problem...
Avatar billede saudoo Nybegynder
21. marts 2004 - 21:46 #26
Ja det er rigtig, det ved jeg. Men jeg har da også prøvet en del, på at få det til at virke. Men ligevidt, det var derfor jeg spurgte på eksperten, men det svar som jeg fik af dig, kunne jeg heller ikke så til at passe rigtig sammen med scriptet! :(

Men du skal da have tak for den tid du brugte på mig. Det har jeg helt glemt at sige :)~
Avatar billede saudoo Nybegynder
05. maj 2004 - 19:45 #27
nice nice.. det virker ikke som det skal .... :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester