Avatar billede sqren Nybegynder
13. januar 2003 - 21:52 Der er 7 kommentarer og
1 løsning

Problemer med visning af uploadede filer

Jeg har et fint upload script. Der er dog den bagdel at jeg kun kan se de uploadede filer ved at lave en henvisning til selve biblioteket hvor de ligger. Derved kan jeg ikke ændrer på designet. Det er bare en hvid baggrund og så står fil-navnene bare derned af. Hvis jeg kunne få hjælp med at lave det på en bedre måde så jeg kunne ændre designet ville det være godt.

Til oplysningen er dette scriptet:

<html><head><title>File Upload</title>
</head>
<body>
<center>
<table><tr>
<td><?php

if (isset($_FILES['upfile'])) {

echo"File(s) upload...<p>\n";

$dist = "Uploaded/";

for($i = 0; $i < count($_FILES['upfile']['name']); $i++) {

    if (isset($_FILES['upfile']['name'][$i]) && $_FILES['upfile']['name'][$i] !="") {
   
        if(is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) {

move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist . $_FILES['upfile']['name'][$i]);

        }else{

    echo"Upload til serveren skete ikke!";

    }
$str1 = $_FILES['upfile']['name'][$i];
$str2 = $_FILES['upfile']['size'][$i];
$str3 = $_FILES['upfile']['type'][$i];

echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
        }
    }
echo"</p>";
echo"<a href=\"$_SERVER[PHP_SELF]\">tilbage</a>";
}else{
?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<input name="upfile[]" type="file" size="32"><br>
<input name="upfile[]" type="file" size="32"><br>
<center><input type="submit" value="Upload" size="48" class="submit"></center>
</form>
<?php
}
?></td>

</tr></table>

</center>

</body></html>
Avatar billede tipsen Nybegynder
14. januar 2003 - 00:19 #1
Det er vel bare at lave en html-side med links til de respektive filer?
Avatar billede iqzero Nybegynder
14. januar 2003 - 01:24 #2
Det du ønsker er vel at læse filerne fra et bibliotek, og så linke til dem. I php gøres det således:

<?php

$handle = opendir("/mit/bibliotek")

while (false !== ($file=readdir($handle))) {

  // Kun hvis filen ikke er . eller .. og den slutter med .jpg
  if ($file != "." && $file != ".." && preg_match("/\.jpg$/i",$file)) {
    echo "<a href=\"/mit/bibliotek/".$file."\">".$file."</a>";
  }
}
?>

?>
Avatar billede iqzero Nybegynder
14. januar 2003 - 01:27 #3
Der mangler lige et semikolon efter $handle = opendir("/mit/bibliotek")
Avatar billede ohmish Nybegynder
14. januar 2003 - 07:13 #4
"kun hvis filen ikke er . eller .." hva betyder det?
Avatar billede tipsen Nybegynder
14. januar 2003 - 11:04 #5
det er "samme bibliotek" (.) eller "et niveau op" (..)
Avatar billede sukos Juniormester
14. januar 2003 - 12:16 #6
Du laver vel bare en fil som håndterer selve uploadningen?
Altså i din form action, er det ikke filen selv, men en fil som uploader, og sender tilbage igen?

Men præcis hvordan vil du vise billederne?
Hvis du blot vil vise dem lige efter upload, så er det jo bare at ændre linien:

echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";

til
(kopieret lidt fra igzero :O] )

  if (preg_match("/\.jpg$/i", $_FILES['upfile']['name'][$i])) {
echo "<img src=\"". $Uploaded . $_FILES['upfile']['name'][$i] .""<br>\n";
  }
Avatar billede sqren Nybegynder
17. februar 2003 - 19:06 #7
lukket
Avatar billede tipsen Nybegynder
17. februar 2003 - 19:18 #8
Du kunne evt. fortælle, hvad det var der ikke fungerede i de svar du har fået på dine spørgsmål - det vil nok øge din fremtidige succesrate...
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