Avatar billede MagnusELH Nybegynder
08. februar 2012 - 17:13 Der er 3 kommentarer og
1 løsning

Upload til en special side, og gør så den kan uploade .png filer?

skal til at gøre så folk kan uploade billeder til min hjemmeside.
Men hvordan gør jeg så at billederne man uploader kommer ind på en .html side, så man kan se alle billederne på engang, istedet for at gå ind i alle billede mapperne? (Altså alle billederne kommer ind på den samme side?)

og hvordan kan man ændre den så man kan uploade .gif billeder?

mine script er her:

  .html siden hvor man uploader:

<html>
<body><br /><br />
<center>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</center>
</body>
</html>

.php siden som hedder upload_file.php :

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Er der nogle der kan forstå og vil hjælpe mig?
Avatar billede rix Praktikant
08. februar 2012 - 19:23 #1
Nu ved jeg ikke hvormeget du kender til PHP men jeg ville bruge sessison

det jeg ville gøre er

move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      $_SESSION['billed_url'] = "upload/".$_FILES["file"]["name"]
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

så skal du bare sende brugeren hen til en side som bruger den session som du lige har sat. til at vise billede kunne se sådan her ud
<img src="<?php echo $_SESSION['billed_url'];?>"></img>

så ville brugeren se den billed som han har oploadet

besvare dette din spøgsmål?
Avatar billede inteeeL Nybegynder
08. februar 2012 - 19:59 #2
Tror nu ikke ovenstående forslag er, hvad spørgeren er ude efter.

Først og fremmest kan du styrke/forenkle din kode, mere præcist den del, der tjekker filtypen på den valgte fil. Ved at benytte array til at opbevare de "tilladte" type kan du med funktionen in_array(uploadede_fil_type, tilladte filtyper) finde ud af, om filtypen for den valgte vil opfylder filtypen.

Men hvordan gør jeg så at billederne man uploader kommer ind på en .html side


Der er flere måder at få billederne ind på en html-side (her tænker jeg alle billederne). Man kan eksempelvis kombinere upload-delen med mysql, hvor du indsætter stien til billedet i databsen og senere kalder billederne fra databasen. Der findes også en anden måde at kalde billederne fra en mappe uden mysql (database). Se nedenstående kode:

<?php

$path = 'MAPPEN_MED_BILLEDERNE';
$handler = opendir($path);
while ($file = readdir($handler)) {
    $file_type = strtolower(end(explode(".", $file)));
    $allowed_filetypes = array('jpg', 'jpeg', 'gif', 'png');
    if (($file != ".") && ( $file != "..") && ( in_array( $file_type, $allowed_filetypes))) {
        echo "<img src='$path/$file' alt='IMG'><br>";
    }
}
closedir($handler);

?>


Du vil kunne se, at jeg har brugt in_array til at tjekke filtypen.

Skriv hvis du har yderligere spørgsmål.
Avatar billede MagnusELH Nybegynder
16. februar 2012 - 17:10 #3
Smid et svar begge to :--)
Avatar billede MagnusELH Nybegynder
20. februar 2012 - 19:49 #4
Jeg lukker den
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