Slettet bruger
14. april 2004 - 16:48
Der er
24 kommentarer og 2 løsninger
upload system
Jeg har et script der ser sådan ud, og jeg kan ikke få det til at virke, jeg har overhovedet ikke en idé om hvad der er galt... håber I gør det ;) <? $konfiguration["upload_bibliotek"] = "images"; $konfiguration["max_stoerrelse"] = "25"; if($upload != true){ ?> <form ACTION="<? echo $PHP_SELF; ?>?upload=true" method="post" enctype="multipart/form-data"> <b>Upload picture:</b> <input type="file" name="upfil" /> <input type="submit" value="upload!" /> </form> <? } if($upload == 'true'){ /* Hvor flytter vi fra og til */ $fra = $_FILES["upfil"]["tmp_name"]; $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"]; /* Accepterer vi filens stoerrelse? */ $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " . ceil($fil_stoerrelse, 1) . " kb"); } /* Saa koerer vi */ if(function_exists("move_uploaded_file()")) { move_uploaded_file($fra, $til); } else { copy($fra, $til); } } ?>
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
14. april 2004 - 17:01
#1
Det er svært uden du fortæller lidt om hvorfor det ikke virker, og hvordan fejlen udarter sig.
Men du kan stjæle det jeg har lavet til netop dette formål på:
http://www.pacroon.dk/projects/upload.phps - og se om det er noget du kan bruge.
Der kan du redigere i $max_filesize hvis der skal være begrænsning på hvor store filerne der uploades må være.
- pacroon
14. april 2004 - 18:33
#2
Kan du være lidt mere specifik.. "kan ikke få det til at virke" - giver ikke mange hints
14. april 2004 - 18:35
#3
men prøv at ersttate if($upload != true){ med if(!isset($_POST['upload'])) { og if(function_exists("move_uploaded_file()")) { med if(function_exists("move_uploaded_file")) { og se om det hjælper og if($upload == 'true'){ med if(isset($_POST['upload'])) {
Slettet bruger
14. april 2004 - 19:21
#4
Jeg giver 20 point til dig pacr00n fordi dit script virker perfekt, og 10 point til dig dennismp fordi du prøvede at hjælpe :)
Slettet bruger
14. april 2004 - 19:21
#5
så begge to læg lige et svar!
14. april 2004 - 19:26
#6
ok
Slettet bruger
14. april 2004 - 19:28
#7
så mangler vi bare et svar fra pacr00n...
Slettet bruger
14. april 2004 - 19:45
#8
Jeg har faktisk lige et spørgsmål mere... i det script du har lavet pacr00n. der vil jeg gerne have at det billede man uploader kommer til at hedder "$session_user.jpg" hvad skal jeg ændre for at det bliver muligt?
14. april 2004 - 19:49
#9
Du kan tilføje: $filename = $_SESSION['user'] . '.jpg'; lige før linjen: if(!@copy($userfile, "$archive_dir/$filename")) die ("Can't copy $userfile_name to $filename.");
Slettet bruger
14. april 2004 - 19:51
#10
ok, takker hvis pacr00n ikke snart svarer, får du bare alle pointsne ;)
14. april 2004 - 19:53
#11
du skal bare lige være opmærksom på at .jpg vil altid blive tilføjet til filen, ligemeget hvad det er (html,txt osv) :-)
Slettet bruger
14. april 2004 - 19:54
#12
jep men jeg vil kun have jpg filer, så det er helt fint
Slettet bruger
14. april 2004 - 20:14
#13
Thanx ;=)
Slettet bruger
14. april 2004 - 21:28
#14
det med at billedet skal hedde $session_user det virker ikke.
14. april 2004 - 21:30
#15
filename = $session_user . '.jpg'; ?
Slettet bruger
14. april 2004 - 21:32
#16
hvis man uploader et billede der hedder noget andet, kommer billedet automatisk til at hedde noget andet, det er dette script jeg bruger: <?php //upload.php $archive_dir="./subfiles/images"; $max_filesize = 25600; function upload_form() { global $PHP_SELF; ?> <form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>?id=upload&action=upload"> <input type="hidden" name="action" value="upload"> Upload file! <input type="file" name="userfile"> <input type="submit" name="submit" value="Upload"> </form> <?php } function upload_file() { global $userfile, $userfile_name, $userfile_size, $userfile_type, $archive_dir, $max_filesize, $WINDIR; if(isset($WINDIR)) { $userfile = str_replace("\\\\","\\", $userfile); } $filename = basename($userfile_name); if($userfile_size <= 0) die ("$filename is empty"); if($userfile_size > $max_filesize) die ("$filename is too big! Only $max_filesize bytes allowed!"); if(!@copy($userfile, "$archive_dir/$filename")) die ("Can't copy $userfile_name to $archive_dir/$filename."); $filename = $session_user . '.jpg'; if(isset($WINDIR) && !@unlink($userfile)) die ("Can't delete the file $userfile_name."); echo "<img src=\"subfiles/images/$filename\"><br>"; echo "$filename has been successfully uploaded.<br>"; echo "Filesize: " . number_format($userfile_size) . "<br>"; echo "Filetype: $userfile_type<br>"; } ?> <html> <head><title>File upload</title></head> <body> <?php if($action == 'upload') { upload_file(); } else { upload_form(); } ?> </body></html>
14. april 2004 - 21:37
#17
hvor kommer din $session_user fra? Er det en global variable? prøv evt at erstatte: function upload_file() { med function upload_file($session_user) { og der hvor du så kalder upload_file() skriver du så upload_file($session_user);
Slettet bruger
14. april 2004 - 21:38
#18
det er en variabel der er registreret i en session, da man loggede ind
Slettet bruger
14. april 2004 - 21:38
#19
jamen den kan godt uploade filen, den hedder bare noget andet!
14. april 2004 - 21:42
#20
"noget andet" ? kan du ikke være mere specifik
Slettet bruger
14. april 2004 - 21:43
#21
den hedder den filen hedder på brugerens computer, hvis filen hedder "billedeafmig.gif" så er det en gif fil der hedder billedeafmig.gif der kommer til at ligge på serveren!
14. april 2004 - 21:47
#22
du skulle sætte $filename = .. OVER copy-linjen. Ikke under (der er det for sent) :-)
Slettet bruger
14. april 2004 - 21:50
#23
jep... men nu kommer billedet bare til at hedde .jpg
Slettet bruger
14. april 2004 - 21:53
#24
altså kun ".jpg"
14. april 2004 - 21:56
#25
så må $session_user være tom
Slettet bruger
14. april 2004 - 21:57
#26
hmm.. jeg prøver lige at gå det hele igennem tak for hjælpen
Vi tilbyder markedets bedste kurser inden for webudvikling