Avatar billede kegud Nybegynder
11. marts 2004 - 08:08 Der er 12 kommentarer og
2 løsninger

Upload script med lidt sikkerhed og nogle fejl.

Jeg har dette upload script (fra webcafe), scriptet virker, men jeg får en fejl når jeg loader scriptet.
Warning: stat failed for (errno=2 - No such file or directory) in /customers/gtavicecity.dk/gtavicecity.dk/httpd.www/LOLMAND.php on line 20
Den forstår jeg ikke helt?

Ud over det, ville det være great, hvis jeg fik det sådan så det kun blev lovligt at uploade .jpgs til serveren.

<form action="LOLMAND.php" method="post" enctype="multipart/form-data">
  <b>Fil til upload:</b>
  <input type="file" name="upfil" />
  <input type="submit" value="upload" />
</form>
<?php
$konfiguration["upload_bibliotek"] = "images/userpix";
$konfiguration["max_stoerrelse"] = "150";
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}
if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
$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");
}
if(function_exists("move_uploaded_file")) {
  move_uploaded_file($fra, $til);
} else {
  copy($fra, $til);
}
?>

Nogen der gider hjælpe
Avatar billede muddi Praktikant
11. marts 2004 - 08:26 #1
Er du sikker på at
/customers/gtavicecity.dk/gtavicecity.dk/httpd.www/
ikke skulle være
/customers/gtavicecity.dk/gtavicecity.dk/httpd/www/
Avatar billede muddi Praktikant
11. marts 2004 - 08:29 #2
Prøv at rette stien
images/userpix
til
/customer/gtavicecity.dk/gtavicecity.dk/httpd.www/images/userpix
eller
/customer/gtavicecity.dk/gtavicecity.dk/httpd/www/images/userpix
Avatar billede muddi Praktikant
11. marts 2004 - 08:30 #3
Har mappen du prøver at uploade til fået de rigtige rettigheder?
Altså har scriptet lov til at skrive i mappen?
Avatar billede kegud Nybegynder
11. marts 2004 - 09:15 #4
Viser stadig samme fejl, selvom jeg ændrer stien. Scriptet har jo rettigheder, og det virker også når jeg uploader, men den fejl kommer når jeg loader scriptet.
Ligeså snart jeg har uploadet en fil, så forsvinder fejlen.
Avatar billede chries Nybegynder
11. marts 2004 - 09:50 #5
if( !empty($FILE['upfil']['name']) )
{

$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
$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");
}
if(function_exists("move_uploaded_file")) {
  move_uploaded_file($fra, $til);
} else {
  copy($fra, $til);
}
}
Avatar billede chries Nybegynder
11. marts 2004 - 09:54 #6
eller måske:

if( is_uploaded_file($FILE['upfil']['tmp_name']) )
Avatar billede chries Nybegynder
11. marts 2004 - 09:54 #7
$FILE skal være $_FILES :)
Avatar billede kegud Nybegynder
11. marts 2004 - 10:01 #8
Ja, tak. Det fjerner i hvert fald fejlen. Kan du så hjælpe mig med kun at tillade .jpgs ?
Avatar billede muddi Praktikant
11. marts 2004 - 10:18 #9
Har du kigget her:
http://www.webcafe.dk/artikler/php/upload/#sikkerhed
Du kan kontrollere om $_FILES["upfil"]["type"] er "image/jpeg"
Avatar billede muddi Praktikant
11. marts 2004 - 10:19 #10
Det kan vel kodes således:
if($_FILES['upfil']['type'] == "image/jpeg")
{
  // flyt filen fra temp
}
Avatar billede muddi Praktikant
11. marts 2004 - 10:26 #11
Kontroller eventuelt også filendelsen:

if(preg_match("/.jpg$/i", $_FILES['upfil']['name']))
{
  // flyt filen fra temp
}
Avatar billede kegud Nybegynder
15. marts 2004 - 08:39 #12
smid et svar chries.
Avatar billede kegud Nybegynder
19. marts 2004 - 17:30 #13
Fair nok. Så får muddi det hele.
Avatar billede muddi Praktikant
23. marts 2004 - 08:45 #14
Tak for point :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester