Gå til innhold

Lage fil-opplaster i php


Anbefalte innlegg

Noen som kan koden eller vet om en BRA side for å få til å lage et opplastningsskjema i php, med kode til skjema, og begge php-sidene som skal behandle filen. (for å flytte filen og for å vise den)?

Har prøvd å se på w3schools og kirupa, men begge de er veldig ufullstendig, hvis jeg skal ha en filopplaster der folk kan laste opp ting, som video, pdf, bilder osv..

Lenke til kommentar
Videoannonse
Annonse

For å laste opp en fil så trenger du to ting. A) Et skjema og B) kode som behandler filen og legger den på en lur plass for fremtidig visning.

 

A) Skjema

<!-- sendfilskjema.html --!>
<form enctype="multipart/form-data" action="filbehandler.php">
<input type="file" name="opplastetfil">
<input type="submit">
</form>

Legg merke til attributten 'enctype="multipart/form-data"'. Den er nødvendig for at serveren skal få rett informasjon om at her kommer det bla.a. en fil.

 

B)Kode for å behandle filen

<!-- filbehandler.php --!>
<?php
$uploadfile = './uploads/' . basename($_FILES['opplastetfil']['name']);
move_uploaded_file($_FILES['opplastetfil']['tmp_name'], $uploadfile)
?>

Det er faktisk alt du trenger. Den første linjen definerer hvor filen vil bli lagt (i dette tilfellet i katalogen 'uploads' under det originale navnet). Den andre linjen flytter filen fra det midlertidige stedet hvor alle opplastede filer blir lagt til stedet det skal.

 

Selvfølgelig så kan du ikke bruke denne koden slik som den står, men jeg er ikke her for å stikke te-skjeer noen steder.

 

Hvis du trenger mere informasjon så er manualen et fint sted å kike.

 

Når det gjelder å vise filene så er det en helt annen sak.

 

Du kan legge alle filene i en tabell ved å kombinere glob og foreach på ca. denne måten:

 

$filendinger=array('bmp', 'jpg', 'avi', 'mpg', 'mov', 'wma', 'mp3', 'ogg');

echo "<table>";
foreach($filendinger as $filending)
{
 $filer=glob("./uploads/*.$filending");
 foreach($filer as $fil){
   echo "<tr><td><a href="$fil">$fil></a></td></tr>";
 }
}
echo "</table>";

Denne koden definerer et sett med gyldige filendinger.

Så går den igjennom alle filendingene og finner alle filene med den endingen i katalogen 'uploads'.

Så går den igjennom alle disse filene og skriver dem ut som en lenke i en tabell.

 

Håper dette hjelper deg på vei.

 

...Lær en mann å fiske og han har mat resten av livet.

Lenke til kommentar

Jeg tror jeg får det til å fungere, men nå har jeg ett problem da, og det er at når jeg laster opp en fil, så skal jeg få den til å spille av på siden, hvordan gjør jeg det, noen som vet? :)

 

Tusen takk for hjelpa btw ;)

Lenke til kommentar
så skal jeg få den til å spille av på siden, hvordan gjør jeg det, noen som vet?  :)

8563355[/snapback]

 

dette er noe som skjer på klientsiden og kan dermed ikke gjøres i php. Du kan bruke flash, java, satse på at klienten har Windows Media Player installert og bruke det, eller hvis det er en wav-fil kan du til og med bruke css. Men det spørsmålet må du stille i ett annet forum enn PHP-forumet.

Lenke til kommentar
oh, jeg trodde det var php..  :(

8571907[/snapback]

 

Som nevnt så blir mediefiler spilt av på klientsiden. Det finnes noe java medieavspillere i flash som virker både i windows og linux (32-bit vel og merke).

 

Men spørsmålet er om det er "en god ide" å gjøre dette. Jeg ville personlig foretrukket å kunne laste ned filene og spille av de jeg var interessert i.

Lenke til kommentar

phpmyadmin = verktøy for å vedlikeholde/gjøre endringer i en MySQL-database. Det er kun du som webmaster/administrator som vil bruke phpmyadmin, ett php-script vil ikke ha noe med phpmyadmin å gjøre.

 

Er ikke helt sikker på om du kan lagre selve filen i databasen, dette er mulig i en MS Access-database om du har ett felt av typen 'OLE-object', mulig det går an å lese inn selve filinnholdet i ett felt av typen 'binary', dette har jeg aldri prøvd. Du kan lage en tabell med oversikt over hvilke filer som har blitt lastet opp, utover det kan jeg ikke forstå hva læreren mente du skulle bruke phpmyadmin til?

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...