/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Upload funktion
Fra : Jan Pedersen


Dato : 02-08-05 19:32

Hej

Jeg har på mit web-hotel (surftown) et lille rodet sub domæne, hvor jeg
gemmer lidt forskellige billeder mv. som jeg støder på.

Men ville grene lave en mulighed for at lave en simpel upload funktion, så
jeg skal smide filer op via en browser frem for at skulle logge ind via ftp.

Nogen der kan hjælpe med en løsning

På forhånd tak

Jan Pedersen



 
 
Ulrik Nielsen (02-08-2005)
Kommentar
Fra : Ulrik Nielsen


Dato : 02-08-05 19:46

Jan Pedersen wrote:
> Nogen der kan hjælpe med en løsning

http://dk2.php.net/manual/en/features.file-upload.php

--
ulrik nielsen |
-----------------+---------------------------------------------------
quote or the day | Redundant ACLs.
from bofh | http://www.cs.wisc.edu/~ballard/bofh/

Thomas Larsen (04-08-2005)
Kommentar
Fra : Thomas Larsen


Dato : 04-08-05 17:28

her er et komplet uploadscript håber det kan hjælpe dig lidt

<?php
//Hvis bruger trykker på upload button
if(isset($_POST['uploadbtn'])) {

//Tæl hvormange fil felter der bliver submitted
$antal = count($_FILES['upfil']['name'])."<br>";

//Upload dir
$uploaddir = "c:/upload/";

//Sæt filernes max størrelse i byte
$maxfilesize = 1000000;

//Her sættes tilladte filtyper
$allowedfiles = array("jpg", "jpeg", "gif", "bmp", "tif", "png");

//Kør det i en for løkke det antal gange der er fil felter
for ($x=0; $x<$antal; $x++) {

//find de tomme form felter, Her skal der intes gøre andet end måske skive
en fejlkode ud
if(empty($_FILES['upfil']['name'][$x])) {

//Evt udskrives fejl her
echo "fil nr $x er tom her skal der ikke gøres noget<br>";

} else {

//Her sættes lidt variabler man kan bruge i scriptet

//Det orginale filnavn
$filnavn = $_FILES['upfil']['name'][$x];

//Den orginale filstørrelse i byte
$filsize = $_FILES['upfil']['size'][$x];

//Den orginale mime filtype
$filtype = $_FILES['upfil']['type'][$x];

//Det tmp navn php giver filen
$tmpname = $_FILES['upfil']['tmp_name'][$x];

//Fil extension bruges til at tjekke om filtype er tilladt
$ext = pathinfo($filnavn);
$ext = strtolower($ext['extension']);

//Her testes om filens størrelse overskrider $maxsize
if($filsize > $maxfilesize) {
//Her udskrives en fejl besked hvis filen er for stor
echo "fil nr <b>$x ".$filnavn."</b> Er for stor den. filen er på:
".$filsize." byte og max størrelse er på: ".$maxfilesize ."<br>";
} else {

//Her testes om filtype er tilladt
if(!in_array($ext, $allowedfiles)) {

//Her udskrives en fejl meddelse hvis ikke filtype er tilladt
echo "Filtype: <b>.".$ext."</b> Er ikke tilladt<br>";

} else {

//Upload file
//Finder random filnavn til filen
$newfilename = md5(rand(0, 99999)).$filnavn;

//rykker uploadet fil til uploaddir
move_uploaded_file($tmpname, $uploaddir.$newfilename);

//Udskriver lidt info om filen
echo "fil nr: $x & Filnavn er " .$filnavn. " filtype er ". $filtype ."
Filstørrelse er ".$filsize. "Bytes. Det nye filnavn på fil er
$newfilename<br>";
}
}
}
}
} else {

echo "Du skal trykke på knappen";
}
?>

<form action="fil.php" method="POST" enctype="multipart/form-data">
<?php
//Her sættes antal filfelter der skal være i formen
$antalfiler = 50;
$i = 0;
for($i=0; $i<$antalfiler; $i++) {
?>
<input type="file" name="upfil[]"><br>
<?
}
?>
<input type="submit" name="uploadbtn" value="Upload">
</form>



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste