Avatar billede mccookie Seniormester
01. juli 2005 - 02:13 Der er 3 kommentarer og
1 løsning

Problemer med upload script

Hejsa

Først virkede det perfekt som det skulle og lige pludselig kaster det denne dumme fejl af sig:

Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 142730 is not allowed to access / owned by uid 0 in /customers/spejderdating.dk/spejderdating.dk/httpd.www/admin/profil_image_upload.php on line 132


Scriptet:

<?php

    require($_SERVER['DOCUMENT_ROOT'].'/admin/mysql/mysql_func.php');


  /**
  * Dette script kan kun afvikles på en php version 4.1.x version eller nyere!!!
  */
 
  /* Check PHP-version */
 
    list($major, $minor, $rev) = explode(".", phpversion());
    if($major < 4) {
    die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
    }

  /* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */

    if($minor < 1) {
    $_FILES = $HTTP_POST_FILES;
    $_POST = $HTTP_POST_VARS;
    $_SERVER = $HTTP_SERVER_VARS;
    }
 
  /**
  * SQL sætning til indsætning i databasen opbygges
  * - - - - - - - - - - - - - - - - - - - - - - - - - - -
  * note 1 : Der genereres et unikt navn til alle filer kun den oprindelige filtype bibeholdes
  *  "    : Anvendte funktioner: uniqid(), md5(), pathinfo()   
  * note 2 : Husk Chmod 777 på mappe
  * note 3 : Sættes med login systemet (Ikke færdig pt.)
  *
  *
  */
 
  // SQL sætning opbygges og variabler sættes
 
  $pi_name      = uniqid(9) . md5(uniqid(9)) . "."; // note 1
  $ext = pathinfo($_FILES['upfil']['name']);        //  "
  $pi_name      = $pi_name . $ext['extension'];    //  "
  $pi_dir      = "/profilimage/";            // note 2
  $pi_oprettet  = time();
  $pi_person_id = "1";                    // note 3
       
  $sql = "
  INSERT INTO profil_image (pi_name, pi_dir, pi_oprettet, pi_person_id)
                  VALUES ('$pi_name','$pi_dir','$pi_oprettet','$pi_person_id')";

/**
* Hvor er filen fra og hvor skal den hen?
*
*/

  $fra = $_FILES["upfil"]["tmp_name"];
  $til = strtolower($konfiguration["upload_bibliotek"] . "/" . $pi_name);

/**
* Hvor skal filerne uploades til?
* Husk, at webserveren skal kunne skrive til dette bibliotek
*/

$konfiguration["upload_bibliotek"]  = $_SERVER['DOCUMENT_ROOT'];
$konfiguration["upload_bibliotek"] .= "/profilimage";

/* Hvor mange kilobytes maa filerne fylde per styk? */
$konfiguration["max_stoerrelse"] = "200";

/* Hvilken størrelse skal billedet som min. have. Værdien svarer til en px enhed */
$konfiguration['size_min'] = "150";

/* Tilladte filtyper */

$allow_filetype = array("image/pjpeg");


/**
* Funktion til at resize billederne
*/

function resize( $filename, $newfilename, $maxw, $maxh )
    {
        $srcim = imagecreatefromjpeg( $filename );
        $ow = imagesx( $srcim );
        $oh = imagesy( $srcim );
        $wscale = $maxw / $ow;
        $hscale = $maxh / $oh;
        $scale = ( $hscale < $wscale ? $hscale : $wscale );
        $nw = round( $ow * $scale, 0 );
        $nh = round( $oh * $scale, 0 );
        $dstim = imagecreatetruecolor( $nw, $nh );
        imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
        imagejpeg( $dstim, $newfilename, 100 );
        imagedestroy( $dstim );
        imagedestroy( $srcim );
    }

   

// Er der en fil
    if(!$_FILES["upfil"]["size"] > 0) {
       
        die("Der er ikke nogen fil kammerat"); } else {
       
// Kan vi li' den slags filer?

        if(!in_array(strtolower($_FILES['upfil']['type']), $allow_filetype)) {
     
        die("Duer ikke kammerat, ulovlig filtype!"); } else {

// Kan vi li' den størrekse

        $size = getimagesize($_FILES['upfil']['tmp_name']);
 
        if($size[0] < $konfiguration['size_min']) {
                         
              die("Den størrelse accepterer vi ikke her denne site"); } else {
                 
// Er filen så for stor?

        $fil_stoerrelse = filesize($fra)/1024;
    if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
         
            die("Lær det, så store filer arbejde jeg ikke med!! ");    }
   
    }
        }
      }


  if(function_exists("move_uploaded_file")) {

    move_uploaded_file($fra, $til);
    resize($til, $til, 150, 10000000 );
    open_database();
        mysql_query($sql) or die(mysql_error());
    close_database();
   
  } else {

    copy($fra, $til);
    resize( $til, $til, 150, 10000000 );
    open_database();
        mysql_query($sql) or die(mysql_error());
    close_database();
}

?>
Avatar billede mccookie Seniormester
01. juli 2005 - 02:14 #1
scriptet har virket uden problemer.....men nu parser det med den dumme fejl!!!
Avatar billede mccookie Seniormester
01. juli 2005 - 02:24 #2
Håber nogen lige kan gennemskue det ;=)
Avatar billede mccookie Seniormester
01. juli 2005 - 02:28 #3
Problemet er løst...... min $til $fra variabel lå får en del af de data som de skulle bruge var erklæret ;)
Avatar billede mccookie Seniormester
01. juli 2005 - 16:02 #4
hjlkjkljl
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