PHP upload
Hej AlleJeg har et uploadscript som skal erstatte et billede med et andet, men mit problem er at den bare melder blank skærm når man har udfyldt formen og sagt send. Den har ikke udskiftet det eller noget som helst.
Her kommer koden:
<?
include("dbcon.php");
$id = $_GET['ID'];
$ex = $_GET['ex'];
$opret = $_POST['opret'];
if($opret == "toogto"){
if($ex == "0"){
$uploaddir = "inc/galleri/full/"; // din mappe til billeder
$thumbnail_dir = "inc/galleri/thumb/"; // din mappe til thumbnails
function tjektype($type) {
$tilladt = array('image/x-png', 'image/png', 'image/pjpeg', 'image/jpeg');
if(!in_array($type, $tilladt)) {
return false;
}else{
return true;
}
}
function tjekfilnavn($filnavn) {
$i = 0;
$ext = strrchr($filnavn, '.');
$navn = substr($filnavn, 0, -strlen($ext));
while (is_file($filnavn)) {
$i++;
$filnavn = $navn . "_" . sprintf("%03u", $i) . $ext;
}
return $filnavn;
}
if (isset($_POST['submit']) && $_POST['submit'] == "Upload" && $_POST['rettype'] == "ny") {
$billede = $_FILES['nyhedsBillede']['name'];
$billede = strtolower($billede);// ændre alt til små bogstaver
$type = strrchr($billede, ".");// For at finde filtypen til tjek af jpeg kontra jpg
$dest = $uploaddir . $billede;// Stien til det store billede
$dest = tjekfilnavn($dest);
$dato_array = getdate();
$oprettelsesdato = $dato_array['mday'] . "-" . $dato_array['mon'] . "-" . $dato_array['year'];
$dato = $dato_array['seconds'] . "-" .$dato_array['minutes'] . "-" .$dato_array['hours'] . "-" .$dato_array['mday'] . "-" . $dato_array['mon'] . "-" . $dato_array['year'];
$source = $_FILES['nyhedsBillede']['tmp_name'];
if (is_uploaded_file($source)) {
if (tjektype($_FILES['nyhedsBillede']['type'])) {
if (move_uploaded_file($source, $dest)) {
list($width, $height) = getimagesize($dest);
$new_width = 450;
$krympefaktor = $new_width/$width;
$new_height = round($height * $krympefaktor);
$destinationImage = imagecreatetruecolor($new_width, $new_height);
if ($type == ".jpeg" || $type == ".jpg") {
$sourceImage = imagecreatefromjpeg($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
$dest = $uploaddir . $dato . "_fuld" . $type;
imagejpeg($destinationImage, $dest);
} elseif ($type == ".png") {
$sourceImage = imagecreatefrompng($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
imagepng($destinationImage, $dest);
}
if($height <= $width){
$new_width = 100;
} else {
$new_width = 82;
}
$krympefaktor = $new_width/$width;
$new_height = round($height * $krympefaktor);
$destinationImage = imagecreatetruecolor($new_width, $new_height);
if ($type == ".jpeg" || $type == ".jpg") {
$sourceImage = imagecreatefromjpeg($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
$thumbnail = $thumbnail_dir.basename($dato, $type)."_thumb".$type;// Stien til thumbnail
imagejpeg($destinationImage, $thumbnail);
} elseif ($type == ".png") {
$sourceImage = imagecreatefrompng($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
$thumbnail = $thumbnail_dir.basename($dato, $type)."_thumb".$type;
imagepng($destinationImage, $thumbnail);
}
}
$select = "SELECT * FROM galleri WHERE ID = '$id'";
$selected = mysql_query($select) or die(mysql_error());
while($gal = mysql_fect_array($selected)){
unlink("/home/web/web36045/adm/" . $gal['thumbnail']);
unlink("/home/web/web36045/adm/" . $gal['dest']);
}
mysql_query("UPDATE galleri SET dest='$dest' and thumbnail = '$thumbnail' WHERE ID = $id") or die(mysql_error());
mysql_close();
$besked = "<span class=menu><br><br>Tekst og billede gemt</span>";
} else {
$besked = "<span class=menu><br><br>Der opstod en ukendt fejl</span><br><a href=\"index.php?ID=" . $id . "&page=galleriskift&ex=0\" class=\"linkS\">Prøv igen</a>";
}
} else {
$besked = "<span class=menu><br><br>Du prøvede at gemme et billedeformat som ikke er tilladt. Du kan gemme billeder i JPEG og PNG formaterne.</span><br><a href=\"index.php?ID=" . $id . "&page=galleriskift&ex=0\" class=\"linkS\">Skift</a>Prøv igen</a>";
}
echo $besked;
} elseif($ex == "1") {
$thumbnail_dir = "inc/galleri/ekstra/"; // din mappe til thumbnails
function tjektype($type) {
$tilladt = array('image/x-png', 'image/png', 'image/pjpeg', 'image/jpeg');
if(!in_array($type, $tilladt)) {
return false;
}else{
return true;
}
}
function tjekfilnavn($filnavn) {
$i = 0;
$ext = strrchr($filnavn, '.');
$navn = substr($filnavn, 0, -strlen($ext));
while (is_file($filnavn)) {
$i++;
$filnavn = $navn . "_" . sprintf("%03u", $i) . $ext;
}
return $filnavn;
}
if (isset($_POST['submit']) && $_POST['submit'] == "Upload" && $_POST['rettype'] == "ny") {
$billede = $_FILES['nyhedsBillede']['name'];
$billede = strtolower($billede);// ændre alt til små bogstaver
$type = strrchr($billede, ".");// For at finde filtypen til tjek af jpeg kontra jpg
$dest = $uploaddir . $billede;// Stien til det store billede
$dest = tjekfilnavn($dest);
$bygaar = $_POST['aar'];
$bynavn = $_POST['bynavn'];
$bygherre = $_POST['bygherre'];
$gade = $_POST['gade'];
$dato_array = getdate();
$oprettelsesdato = $dato_array['mday'] . "-" . $dato_array['mon'] . "-" . $dato_array['year'];
$dato = $dato_array['seconds'] . "-" .$dato_array['minutes'] . "-" .$dato_array['hours'] . "-" .$dato_array['mday'] . "-" . $dato_array['mon'] . "-" . $dato_array['year'];
$source = $_FILES['nyhedsBillede']['tmp_name'];
if (is_uploaded_file($source)) {
if (tjektype($_FILES['nyhedsBillede']['type'])) {
if (move_uploaded_file($source, $dest)) {
list($width, $height) = getimagesize($dest);
if($height <= $width){
$new_width = 100;
} else {
$new_width = 82;
}
$krympefaktor = $new_width/$width;
$new_height = round($height * $krympefaktor);
$destinationImage = imagecreatetruecolor($new_width, $new_height);
if ($type == ".jpeg" || $type == ".jpg") {
$sourceImage = imagecreatefromjpeg($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
$thumbnail = $thumbnail_dir.basename($dato, $type)."_1".$type;// Stien til thumbnail
imagejpeg($destinationImage, $thumbnail);
} elseif ($type == ".png") {
$sourceImage = imagecreatefrompng($dest);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $new_width, $new_height, imagesx($sourceImage), imagesy($sourceImage));
$thumbnail = $thumbnail_dir.basename($dato, $type)."_extra1".$type;
imagepng($destinationImage, $thumbnail);
}
}
$select = "SELECT * FROM galleriextra WHERE ID = '$id'";
$selected = mysql_query($select) or die(mysql_error());
while($gal = mysql_fect_array($selected)){
unlink("/home/web/web36045/adm/" . $extra['extra']);
}
mysql_query("UPDATE galleriextra SET extra = '$thumbnail' WHERE ID = $id") or die(mysql_error());
mysql_close();
$besked = "<span class=menu><br><br>Tekst og billede gemt</span>";
} else {
$besked = "<span class=menu><br><br>Der opstod en ukendt fejl</span><br><a href=\"index.php?ID=" . $id . "&page=galleriskift&ex=1\" class=\"linkS\">Prøv igen</a>";
}
} else {
$besked = "<span class=menu><br><br>Du prøvede at gemme et billedeformat som ikke er tilladt. Du kan gemme billeder i JPEG og PNG formaterne.</span><br><a href=\"index.php?ID=" . $id . "&page=galleriskift&ex=1\" class=\"linkS\">Skift</a>Prøv igen</a>";
}
}
echo $besked;
}
} else {
echo "Der er opstået en fejl, kontakt webmaster";
}
} else {
?>
<div style="text-align:center" class="normtext"><br><br><br><br><br><form name="admin" method="post" action="<? echo "index.php?page=gallery&galleripage=skift&ex=$ex&ID=$id"; ?>" enctype="multipart/form-data">
<table><tr>
<td><span class="normtext">Billede:</span></td><td colspan="3"><input name="nyhedsBillede" type="file" size="20"></td>
</tr>
<tr>
<td><input name="opret" type="hidden" value="toogto"><input name="submit" type="submit" value="Upload"></td>
</tr></table></form>
<?
}
?>
Kan i finde fejlen er det fint:D
Mvh Rasmus
