Fejl ved upload af billede
Denne kode skal gemme et billede i en bestemt mappe, med et bestemt navn på serveren:<?
if (!isset($_SESSION['userid'])) {
die ("Du skal være logget ind for at uploade et billede!");
}
function resize_jpg($img,$w,$h){
$thumb = imagecreate ($w, $h);
$image = ImageCreateFromJpeg($img);
$imagedata = getimagesize($img);
imagecopyresized ($thumb, $image, 0, 0, 0, 0, $w, $h, $imagedata[0], $imagedata[1]);
imagejpeg($thumb, $img);
}
?>
<p>
<center>
<table><tr>
<td><?php
if (isset($_FILES['upfile'])) {
$brugernavn = $_SESSION['brugernavn'];
//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];
//Filer som kan uploades
$filetyper = array("image/gif", "image/jpeg", "image/pjpeg", "image/png");
//stien, hvortil filerne skal placeres
$dist = "/STORE/fcknet_dk/public_html/pic";
//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
}
echo"Ønsket fil til upload:<p>\n";
if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] !="") {
//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"
if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
if ($_FILES['userfile']['type'] == "image/gif") {
$extention = "gif";
} elseif ($_FILES['userfile']['type'] == "image/jpeg") {
$extention = "jpg";
} elseif ($_FILES['userfile']['type'] == "image/png") {
$extention = "png";
} elseif ($_FILES['userfile']['type'] == "image/pjpeg") {
$extention = "jpg";
} else {
$extention = "jpg";
}
//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist ."/". $brugernavn .".". $extention);
$file = $dist ."/". $brugernavn .".". $extention;
$id = $_SESSION[id];
mysql_connect($server, $db_user, $db_pass) or die ("Useronline Database CONNECT Error");
mysql_select_db($database);
mysql_query("update bruger set billede = '$bruger.$extention' where id = '$id'");
} else {
echo"Sorry, men upload skete IKKE!";
}
//include("resize.php?image=$brugernavn.$extention&width=50&height=50");
$brugernavn = $_SESSION['brugernavn'];
$str2 = $str2/1024;
$str2 = round($str2,2);
echo "<b>Navn:</b> $str1, <b>størrelse:</b> $str2 kb, <b>filtype:</b> $str3<br>\n";
echo "<br><img src=pic/$brugernavn.$extention><br>";
echo"</p>";
}
}else{
echo "Du skal vælge en fil til upload. <a href=\"upload.php\">singleupload.html</a>";
}
?></td>
</tr></table>
</center>
Følgende fejl opstår når jeg prøver at uploade et billede:
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phpWQABQF) is not within the allowed path(s): (/STORE/fcknet_dk/) in /STORE/fcknet_dk/public_html/singleupload.php on line 72
Warning: move_uploaded_file(/tmp/phpWQABQF) [function.move-uploaded-file]: failed to create stream: Operation not permitted in /STORE/fcknet_dk/public_html/singleupload.php on line 72
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpWQABQF' to '/STORE/fcknet_dk/public_html/pic/Philip.jpg' in /STORE/fcknet_dk/public_html/singleupload.php on line 72
