Avatar billede hansen1142 Nybegynder
12. december 2005 - 07:47 Der er 12 kommentarer

Har en billed upload form, skal bruge en lister..

Hejsa, jeg står og mangler en lister der gør flg.

3 billeder 100*100 thumbs (bare nedskaleret) pr række
5 rækker pr side
Auto side skift, med nyeste billeder på side 1

Mine koder ser således ud:

Formlen:

<html>
<head>
<title>Upload brugerbillede</title>
</head>

<body>
<p align="center">
<b><font size="2" face="Verdana">Upload et billede</font></b><br><br>
</p>
<form method="post" enctype="multipart/form-data" action="uploadfunction.php">
<center>
<table border="0" width="40%" id="table1" cellspacing="4" cellpadding="0">
    <tr>
        <td width="133"><font size="1" face="Verdana">Billedekategori:</font></td>
        <td>
<select size="1" name="category" style="border: 1px solid #000000; padding: 0">
<option selected>Vælg en kategori</option>
<option value="1">Sjove billeder</option>
<option value="2">Wallpapers</option>
<option value="3">Owned</option>
<option value="4">De søde små dyr</option>
</select></td>
    </tr>
    <tr>
        <td width="133"><font face="Verdana" size="1">Vælg billede:</font></td>
        <td>
        <input type="file" name="userfile" size="17" style="border: 1px solid #000000; padding: 0"></td>
    </tr>
</table>
</center>
<p align="center"><font face="Verdana" size="1">OBS: Tryk kun &quot;Fyr den op!&quot; én
gang.</font><br>
<input type="submit" value="Fyr det op!" style="border: 1px solid #000000; padding: 0">
</p>
</form>

</body>
</html>

Uploaderen/uploadfunction.php

<link href="stylesheet/styles.css" rel="stylesheet" type="text/css">
<body bgcolor="#B2C7D9">
<?
// Upload egenskaber
//$folder = "upload/kat1/"; // Mapper vi smider filerne i
    if ($_POST['category'] == 1) { $folder = "billeder/sjove/"; }
elseif ($_POST['category'] == 2) { $folder = "billeder/wallpapers/"; }
elseif ($_POST['category'] == 3) { $folder = "billeder/owned/"; }
elseif ($_POST['category'] == 4) { $folder = "billeder/dyr/"; }

$maxlimit = 2457600; // Set maximum file limit (in bits) - 300kb
$allowed_ext = "jpg,gif,png,jpeg"; // Set allowed extensions (split using comma)
$overwrite = "no"; // Allow file overwrite? yes/no

$match = ""; // Clear match variable; for security purposes
$filesize = $_FILES['userfile']['size']; // Get file size (in bits)
$filename = strtolower($_FILES['userfile']['name']); // Get file name; make it all lowercase


if(!$filename || $filename==""){ // File not selected
  $error = "- Du har ikke valgt et billede til upload.<br>";
}elseif(file_exists($folder.$filename) && $overwrite=="no"){ // Check if file exists
  $error = "- Filen: $filename eksiterer allerede - omdøb venligst og prøv igen.<br>";
}

// Check if file size
if($filesize < 1){ // File is empty
  $error .= "- File size is empty.<br>";
}elseif($filesize > $maxlimit){ // File is more than maximum
  $error .= "- Filen er for stor - maksimale tilladte str. er 300kb.<br>";
}

$file_ext = preg_split("/\./",$filename); // Split filename at period (name.ext)
$allowed_ext = preg_split("/\,/",$allowed_ext); // Create array of extensions
foreach($allowed_ext as $ext){
  if($ext==$file_ext[1]) $match = "1"; // File is allowed
}

// File extension not allowed
if(!$match){
  $error .= "- Filtypen er ikke tilladt: $filename<br>";
}

if($error){
  print "Fejl under upload af billedet:<br> $error"; // Display error messages
}else{
  if(move_uploaded_file($_FILES['userfile']['tmp_name'], $folder.$filename)){ // Upload file
      print "Billedet: $filename er nu uploadet.";
  }else{
      print "Error! File size might exceed upload limit of server. Try again."; // Display error
  }
}

?>
Avatar billede hansen1142 Nybegynder
12. december 2005 - 07:49 #1
Glemte lige en ting.. Den samme lister skal bruges 4 gange, 1 gang til hver mappe som i kan se både formen, og uploaderen henviser til..
Avatar billede ajenbo Nybegynder
12. december 2005 - 23:12 #2
Here er den kode jeg har skrevet til mig egen side, den giver dig en liste af alle billeder i den mappe du søger i, så kan du bare echo dem i en tabel.

function filer($dir) {
    if ($handle = @opendir($dir)) {
        $i=0;
        $billeder = array(".jpg",".png",".gif");
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && !is_dir($dir."/".$file) && ereg($billeder,$file)) {
                $list[$i] = $file;
                $i++;
          }
      }
      closedir($handle);
      if($list)
          sort($list);
    }
    return $list;
}

$filer = filer("/images/ferie");
Avatar billede hansen1142 Nybegynder
13. december 2005 - 01:26 #3
Takker for denne, men skal lige høre - ang det at echo billederne i en tabel, hvordan gør man det?
Avatar billede hansen1142 Nybegynder
13. december 2005 - 01:28 #4
Og forresten, billederne skal jo også linke til dem selv
Avatar billede ajenbo Nybegynder
13. december 2005 - 01:50 #5
for($i=0;$i<count($filer);$i++) {
?><a href="/images/ferie/<?php echo $filer[$i]; ?>"><?php echo $filer[$i]; ?></a><?php
}
Avatar billede hansen1142 Nybegynder
13. december 2005 - 02:11 #6
Ajenbo -> Jeg kan simpelthen ikke få det til at virke.. Har haft lidt kontakt med en bekendt som er rimelig slemt inde i PHP, og han kan heller ikke få det til at virke, så kan du evt uddybe lidt nærmere hvordan vi får det til at virke?
Avatar billede ajenbo Nybegynder
13. december 2005 - 04:22 #7
Hmm ser ud til at den ikke var glad for at stien started med en "/" og at den kun fant billeder hvor der både stode "jpg" "png" og "gif"...

har også samled alt koden ind i funktionen så du kun behøves skrive mappen 1 sted.
$filer = filer("images/eagle/thumbnail");
Avatar billede ajenbo Nybegynder
13. december 2005 - 04:22 #8
<?php
function filer($dir) {
    if ($handle = @opendir($dir)) {
        $i=0;
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && !is_dir($dir."/".$file)) {
         
              if(ereg(".jpg",$file))
                $ok = 1;
              if(ereg(".png",$file))
                $ok = 1;
              if(ereg(".gif",$file))
                $ok = 1;
               
            if($ok) {
                $list[$i] = $file;
                $i++;
                $ok = '';
            }
           
          }
      }
      closedir($handle);
      if($list)
          sort($list);
    } else
        echo("Ugyldig  mappe");
   
    for($i=0;$i<count($list);$i++) {
        echo('<a href="'.$dir.'/'.$list[$i].'">'.$list[$i].'</a><br>');
    }
}

$filer = filer("images/eagle/thumbnail");
?>
Avatar billede hansen1142 Nybegynder
13. december 2005 - 05:09 #9
Jeg takker, og vil nu arbejde videre med scriptet.. :)
Avatar billede ajenbo Nybegynder
13. december 2005 - 05:37 #10
Det var så lidt held og lykke :)
Avatar billede hansen1142 Nybegynder
13. december 2005 - 06:14 #11
Har du evt. en msn man kan fange dig på hvis der skulle komme yderligere problemer? :) Min er webmaster@snakes.dk hvis du er interesseret :)
Avatar billede ajenbo Nybegynder
13. december 2005 - 09:49 #12
Eller tak.
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