04. april 2004 - 23:30
Der er
27 kommentarer og 1 løsning
upload resize og max størelse
Hej, jeg har selv en upload ting men jeg skal bruge nogle flere funktioner i den. Det skal opload til en MySQL database. Den skal nemlig smide en tekst med i database. Men den skal kunne resize billede, så alle billeder kommer ned på server er ca 250*250, og max størelse må være 100 mb. Håber en eller anden kan hjælpe mig her. Plz...
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
05. april 2004 - 00:10
#1
Lav en variabel du f.eks. kalder $max_filesize, og sæt den til 100mb, i byte. Altså 1.000.000 Ved formens script, laver du blot en ifsætning der tjekker, om $max_filesize er mindre end filesize(); af "file" formens variabel. Hvis den IKKE er det, kan de uploades. Altså sådan: $max_filesize = 1000000; // Form-scriptet her, et sted har du et formobjekt der hedder: <input type="file" name"userfile"> // Userfile er noget jeg har kaldt den, brug det du kalder den istedet. $userfile_size = filesize($userfile); if($userfile_size > $max_filesize) die ("$filename is too big! Only $max_filesize bytes allowed!"); Eller noget i den stil ;)
05. april 2004 - 00:30
#2
Hmm kan ikke lgie finde ud af smide det sammen med det jeg har, men her er det jeg har nu: <form method="post" action="post.php" enctype="multipart/form-data"> <input type="hidden" name="up" value="upload"> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="submit" value="Upload"> </form> post.php: if ($_POST['up'] == 'upload') { for ($i=0;$i<count($_FILES['file']['name']);$i++) { if ($_FILES['file']['name'][$i] != '') { $fnavn = time().substr($_FILES['file']['name'][$i],strrpos($_FILES['file']['name'][$i],'.')); move_uploaded_file($_FILES['file']['tmp_name'][$i], '../files/'.$fnavn); } } header("Location: index.php"); } Det skal være 100kb ikke mb.. min fejl.. hehe.. kan du sætte det sammen?
05. april 2004 - 00:30
#3
og kan du smide en resize på?
Slettet bruger
05. april 2004 - 00:54
#4
<form method="post" action="post.php" enctype="multipart/form-data"> <input type="hidden" name="up" value="upload"> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="submit" value="Upload"> </form> post.php: $max_filesize = 1000; if ($_POST['up'] == 'upload') { for ($i=0;$i<count($_FILES['file']['name']);$i++) { if ($max_filesize < filesize($file[$i]) { echo "Din fil er for stor!"; exit; } if ($_FILES['file']['name'][$i] != '') { $fnavn = time().substr($_FILES['file']['name'][$i],strrpos($_FILES['file']['name'][$i],'.')); move_uploaded_file($_FILES['file']['tmp_name'][$i], '../files/'.$fnavn); } } header("Location: index.php"); Prøv det!
05. april 2004 - 09:12
#5
ok, kan du også sætte en rezise på, altså så alle billeder for samme størelse? Hvis du kan få det ind i, så ville det være perfekt. ;)
05. april 2004 - 09:19
#6
hmm vis vi dropper resize, kan du så ikke smide den der max_filesize på dette her: if (isset($_POST['up'])) { $i = 0; require ("../db.php"); while (list($name, $value) = each($_FILES['upfil']['name'])) { if ($value) { $dist = $_SERVER["DOCUMENT_ROOT"] ."/fbbgalleri/img/"; $files = $value; $temparr = explode(".", $files); $temparr[count($temparr)-2] = time(); $files = implode(".", $temparr); $rand = rand(1,100000); $files = "$rand$files"; move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files); mysql_query("INSERT INTO gallery (time, filename) VALUES (now(), '$files')"); } $i++; } }
05. april 2004 - 12:27
#7
13 <form method="post" action="post.php" enctype="multipart/form-data"> <input type="hidden" name="up" value="upload"> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="file" name="file[]"><br> <input type="submit" value="Upload"> </form> post.php: $max_filesize = 1000; if ($_POST['up'] == 'upload') { for ($i=0;$i<count($_FILES['file']['name']);$i++) { if ($max_filesize < filesize($file[$i]) { echo "Din fil er for stor!"; exit; } if ($_FILES['file']['name'][$i] != '') { $fnavn = time().substr($_FILES['file']['name'][$i],strrpos($_FILES['file']['name'][$i],'.')); move_uploaded_file($_FILES['file']['tmp_name'][$i], '../files/'.$fnavn); } } header("Location: index.php");
05. april 2004 - 20:48
#8
sparki dit svar fatter jeg ikke lige???
Slettet bruger
05. april 2004 - 21:01
#9
Sparki : Hvad har du ændret i dit svar i forhold til mit?
05. april 2004 - 21:02
#10
pacr00n, kan jeg få dig til at kigge på min kommentar: 05/04-2004 09:19:50 ?
Slettet bruger
05. april 2004 - 21:02
#11
if (isset($_POST['up'])) { $max_filesize = 1000; if ($max_filesize < filesize($file[$i]) { echo "Din fil er for stor!"; exit; $i = 0; require ("../db.php"); while (list($name, $value) = each($_FILES['upfil']['name'])) { if ($value) { $dist = $_SERVER["DOCUMENT_ROOT"] ."/fbbgalleri/img/"; $files = $value; $temparr = explode(".", $files); $temparr[count($temparr)-2] = time(); $files = implode(".", $temparr); $rand = rand(1,100000); $files = "$rand$files"; move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files); mysql_query("INSERT INTO gallery (time, filename) VALUES (now(), '$files')"); } $i++; } }
Slettet bruger
05. april 2004 - 21:03
#12
Hov. Det var ikke rigtigt. if (isset($_POST['up'])) { $max_filesize = 1000; if ($max_filesize < filesize($file) { echo "Din fil er for stor!"; exit; $i = 0; require ("../db.php"); while (list($name, $value) = each($_FILES['upfil']['name'])) { if ($value) { $dist = $_SERVER["DOCUMENT_ROOT"] ."/fbbgalleri/img/"; $files = $value; $temparr = explode(".", $files); $temparr[count($temparr)-2] = time(); $files = implode(".", $temparr); $rand = rand(1,100000); $files = "$rand$files"; move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files); mysql_query("INSERT INTO gallery (time, filename) VALUES (now(), '$files')"); } $i++; } } Her er det så forudsat, at dit textfelt i formen hedder <input type="file" name="file">
05. april 2004 - 21:10
#13
tester lige
05. april 2004 - 21:23
#14
Parse error: parse error in /web/www.frederikbb.dk/www/numsegejl/admin/upload.php on line 4 Linje 4: if ($max_filesize < filesize($filup) {
05. april 2004 - 21:25
#15
hmm der mangler en ) ;D Men nu for jeg fejl i min sidste linie i mit script: <? if (isset($_POST['up'])) { $max_filesize = 1000; if ($max_filesize < filesize($filup)) { echo "Din fil er for stor!"; exit; $i = 0; require ("../db.php"); while (list($name, $value) = each($_FILES['upfil']['name'])) { if ($value) { $dist = $_SERVER["DOCUMENT_ROOT"] ."/numsegejl/galleri/"; $files = $value; $temparr = explode(".", $files); $temparr[count($temparr)-2] = time(); $files = implode(".", $temparr); $rand = rand(1,100000); $files = "$rand$files"; move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files); mysql_query("INSERT INTO numsegejlgalleri (time, filename, tekst) VALUES (now(), '$files','$tekst')"); } $i++; } } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <?php for ($s = 0; 10 > $s; $s++) { ?> <input type="file" name="upfil[]"><br> <?php } ?> Kommentar:<input type="text" name="tekst" size="20"> <input type="submit" value="Upload" name="up"> </form>
05. april 2004 - 21:37
#16
har fundet det.. smider du et svar?
05. april 2004 - 21:41
#17
Virker ikke... kan godt oploade støre billeder ind 100 kb mit kode: <? if (isset($_POST['up'])) { $max_filesize = 1000; if ($max_filesize < filesize($filup)) { echo "Din fil er for stor!"; exit; } $i = 0; require ("../db.php"); while (list($name, $value) = each($_FILES['upfil']['name'])) { if ($value) { $dist = $_SERVER["DOCUMENT_ROOT"] ."/numsegejl/galleri/"; $files = $value; $temparr = explode(".", $files); $temparr[count($temparr)-2] = time(); $files = implode(".", $temparr); $rand = rand(1,100000); $files = "$rand$files"; move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files); mysql_query("INSERT INTO numsegejlgalleri (time, filename, tekst) VALUES (now(), '$files','$tekst')"); } $i++; } } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <?php for ($s = 0; 10 > $s; $s++) { ?> <input type="file" name="upfil[]"><br> <?php } ?> Kommentar:<input type="text" name="tekst" size="20"> <input type="submit" value="Upload" name="up"> </form>
Slettet bruger
05. april 2004 - 21:53
#18
Ifsætningen er jo også forkert egentlig. Den siger filen er for stor hvis den er under 100 kb. Echoer den ikke hver gang? if (filesize($filup) > $max_filesize) { echo "Din fil er for stor!"; exit; }
07. april 2004 - 00:07
#19
hjælper heller ikke, den smider fil lige op, fil på lidt over 500kb..
07. april 2004 - 00:34
#21
den smækker det ikke i database har jeg brug for..
Slettet bruger
07. april 2004 - 01:56
#22
Jeg tænkte mere at du kunne se syntaxen...
07. april 2004 - 02:02
#23
Pacroon :) fed chat i har fået lavet jer :) syntes den r alt for fed :) håber i fået lavet noget på den :) (ved godt jeg ikke skulle have skrevet det her inde) men kunne ikke lade vær :D
07. april 2004 - 08:48
#24
pacr00n, tja, men jeg ikke lige se hvordan jeg skal få det i mit script, er ikke så vild til php
07. april 2004 - 23:09
#25
så vis en kan sætte det sammen...
11. april 2004 - 21:15
#26
Ingen de rkan hjælpe mig...?
Slettet bruger
12. april 2004 - 13:13
#27
Efter 8 dages åbentid må man godt lukke det og åbne et nyt, identisk spørgsmål, så det bliver mere set igen. Det kunne du jo prøve, og evt. henvise hertil. Jeg må indrømme jeg ikke helt ved hvad din fejl er.
12. april 2004 - 18:51
#28
ok, gør jeg så ;)
Vi tilbyder markedets bedste kurser inden for webudvikling