image upload fungerer, men billedvisning?
135 point fra nickyc
X
Hey alle..
Har et upload script, den uploader egentlig billedet fint osv, men den vil ikke vise billedet?
Upload.php
-----------
<?php
//Hent forbindelse
include("../includes/config.inc.php");
//Hent session
$Bruger_ID = $_SESSION['Bruger_ID'];
$Brugernavn = $_SESSION['Brugernavn'];
if($_REQUEST['submit'] == "Nyt billede") {
if($_FILES['billedfil']['size'] > 300000) {
?>
<script language="JavaScript">
alert('Billedet fylder for meget');
</script>
<?
}
elseif ($_FILES['billedfil']['size'] == 0) {
?>
<script language="JavaScript">
alert('Vælg et billede');
</script>
<?
}
else {
move_uploaded_file($_FILES['billedfil']['tmp_name'],"../userimg/$Brugernavn-$Bruger_ID.jpg");
}
}
if ($_REQUEST['submit'] == "Fjern billede") {
unlink("../userimg/$Brugernavn-$Bruger_ID.jpg");
}
if (file_exists("../userimg/$Brugernavn-$Bruger_ID.jpg")) {
$oldpic = true;
}
else {
$oldpic = false;
}
?>
<table cellspacing=0 cellpadding=0 border=0 height=75>
<form enctype="multipart/form-data" action="editpic.php" method="POST">
<input type=hidden name="Bruger_ID" value="<?=$Brugernavn?>">
<input type=hidden name="Bruger_ID" value="<?=$Bruger_ID?>">
<tr>
<td>
<?
if ($oldpic == true) {
?>
<img src="../vispic.php?imgtype=userimg&imgname=<?=$Brugernavn?>-<?=$Bruger_ID?>.jpg&maxWidth=160&maxHeight=70&time=<?=time()?>" align=left>
<?
}
?>
</td>
</tr>
</table>
<input name="billedfil" type="file" id="billedfil" />
<input type=submit name="submit" value="Nyt billede"> <?
if ($oldpic == true) {
?><input type=submit name="submit" value="Fjern billede">
<?
}
?>
</form>
--------------------
vispic.php
-----------
<?php
$imgType = $_REQUEST['imgtype'];
$imgName = $_REQUEST['imgname'];
$imgMaxWidth = $_REQUEST['maxWidth'];
$imgMaxHeight = $_REQUEST['maxHeight'];
# Sikkerhedscheck
$imgName = str_replace("/","",$imgName);
if ($imgType == "userimg") {
$myImg = imagecreatefromjpeg("./userimg/" . $imgName);
}
header("Content-type: image/jpeg");
$imageOrigWidth = imagesx($myImg);
$imageOrigHeight = imagesy($myImg);
#De originale propertioner
$origProp = $imageOrigHeight / $imageOrigWidth;
# Den nye højde:
$newHeight = $imgMaxWidth * $origProp;
#Tjek om den nye højde er for høj
if ($newHeight > $imgMaxHeight) {
$newWidth = $imgMaxHeight / $origProp;
$newHeight = $imgMaxHeight;
}
else {
$newWidth = $imgMaxWidth;
}
$imgOut = imagecreatetruecolor($newWidth,$newHeight);
imagecopyresized($imgOut,$myImg,0,0,0,0,$newWidth,$newHeight,$imageOrigWidth,$imageOrigHeight);
imagejpeg($imgOut,"",75);
?>
------------------
Nogle der kan hjælpe, fatter virkelig ik hvad der er galt?
Du skal huske at ændre CHMOD til 755. Når du bare uploader er den 644. Så vidst jeg husker.