03. oktober 2004 - 12:52
Der er
6 kommentarer og
1 løsning
upload små film
Hej
mangler vildt meget et script der kan uploade små film af en størelse på 40-60 MB (filfomater: wma, mp3 avi, ovs.)
+ man skal også kunne uploade billeder
+ Man skal kunne se hvor mnge film der er uploadet (altså på forsiden skal de f.eks. stå 60 film uploadet og hvor mange MB der er uploadet!)
noget i kan finde ud af
Slettet bruger
03. oktober 2004 - 12:59
#1
Du skal måske lige være opmærksom på, om dit webhotel tillader så store filer. Prøv at lave en fil med følgende:
<?php
phpinfo();
?>
Så kan du se om de tillader det. Mener at punktet hedder noget i retning af upload filsize, men er ikke 100% sikker
Slettet bruger
03. oktober 2004 - 13:18
#6
Tja, det skulle vel ikke være så svært :)
Filen der uploader kunne se sådan ud:
<form action="do_upload.php" method="post" enctype="multipart/form-data">
Video / billede:<input type="file" name="media"><br>
<input type="submit" name="done" value="Upload">
</form>
Filen do_upload.php kunne f.eks. være dette:
<?PHP
if(isset($_POST[done])) {
// hvor filen kommer fra.
$from = $_FILES['media']['tmp_name'];
// Fil endelsen.
$ext = strtolower(end(explode(".", $_FILES['media']['name'])));
// Hvis filtypen er en af følgende:
if($ext == "jpg" || $ext == "jpeg" || $ext == "png" || $ext == "wma" || $ext == "mp3" || $ext == "avi") {
// Dags dato. (Benyttes til filnavn, så vi ikke får to ens.
$current_date = date("dmYHis");
// Endelig navn.
$name = $current_date . rand(1, 1000000);
// Navn, samt endelse.
$filename = "$name.$ext";
// Hvor vi flytter filen til.
$to = "".$_SERVER["DOCUMENT_ROOT"]."/files/" . $filename;
// Uploader filen.
move_uploaded_file($from, $to);
// Henter størrelsen på filen:
$size = filesize($to);
// Hvis du smider infoen i en database:
// Husk forbindelse til MySQL serveren, og databasen.
mysql_query("INSERT INTO tabel (filname, size) VALUES ('$filename','$size')") or die(mysql_error());
}
}
?>
Din index side kunne se sådan ud (statistik):
<?PHP
// Funktion til udregning af størrelse.
function human_size($size,$dec=1)
{
$size_names = array('Byte','KB','MB','GB', 'TB','PB','EB','ZB','YB','NB','DB');
$name_id = 0;
while($size>=1024 && ($name_id<count($size_names)-1)){
$size/=1024;
$name_id++;
}
return round($size,$dec).' '.$size_names[$name_id];
}
// Husk forbindelse til MySQL
$query = mysql_query("SELECT filename, SUM(size) AS total FROM tabel") or die(mysql_error());
$rows = mysql_num_rows($query);
$row = mysql_fetch_array($query);
echo "Der er i alt $rows film og billeder.<br>I alt er der uploaded for ".human_size($row[total],2).", rimelig vildt var.";
?>
03. oktober 2004 - 13:18
#7
Du havde spm åbent i 13 min og 40 sec !
Det er forum, ikke en live-chat med én udvikler, der KUN er der for DIG !