Problemer med upload script
HejsaFø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();
}
?>
