Ik heb dmv mijn localhost server een functie in mijn script zitten waarmee ik met een CMS-Systeempje makkelijk foto's + logo's kan uploaden. Path van de afbeeldingen wordt opgeslagen in de database. Op mijn localhost server werkt dit 100% zonder problemen. Eenmaal online gezet krijg ik de melding die ik in mijn script heb verwerkt dat de extensie niet geldig is. Terwijl ik dezelfde afbeeldingen probeer te uploaden.
Iemand hier ervaring mee?
Upload script:
<?php
session_start();
include 'connect.php';
if ($_SESSION['login'] != 1)
{
header('location:login.php');
exit();
}
else
{
$sql = mysql_query("SELECT * FROM home");
if (mysql_num_rows($sql) > 0)
mysql_query("UPDATE home SET tekst='".mysql_real_escape_string($_POST['tekst'])."',
facebook='".mysql_real_escape_string($_POST['facebook'])."', twitter='".mysql_real_escape_string($_POST['twitter'])."', googleplus='".mysql_real_escape_string($_POST['googleplus'])."', linkedin='".mysql_real_escape_string($_POST['linkedin'])."'");
else
mysql_query("INSERT INTO home(tekst, facebook, twitter, googleplus, linkedin)
VALUES('".mysql_real_escape_string($_POST['tekst'])."', '".mysql_real_escape_string($_POST['facebook'])."', '".mysql_real_escape_string($_POST['twitter'])."', '".mysql_real_escape_string($_POST['googleplus'])."', '".mysql_real_escape_string($_POST['linkedin'])."')");
function uploadImage($img_ff, $dst_path, $dst_img)
{
$i = 0;
//Get variables for the function.
//complete path of the destination image.
$dst_cpl = $dst_path . basename($dst_img);
//name without extension of the destination image.
$dst_name = preg_replace('/\.[^.]*$/', '', $dst_img);
//extension of the destination image without a "." (dot).
//$dst_ext = strtolower(end(explode(".", $dst_img)));
//$dst_ext = strtolower(substr($dst_img, -(strpos($dst_img, '.')-1)));
$dst_ext = substr($dst_img , strlen($dst_img) - 3 , 3);
//remove the spaces from the file name
$dst_name = str_replace (" ", "", $dst_name);
//Check if destination image already exists, if so, the image will get an extra number added.
while(file_exists($dst_cpl) == true){
$i = $i+1;
$dst_img = $dst_name . $i . '.' . $dst_ext;
$dst_cpl = $dst_path . basename($dst_img);
}
//upload the file and move it to the specified folder.
move_uploaded_file($_FILES[$img_ff]['tmp_name'], $dst_cpl);
//get type of image.
$dst_type = exif_imagetype($dst_cpl);
//Checking extension and imagetype of the destination image and delete if it is wrong.
if(( (($dst_ext =="jpg") && ($dst_type =="2")) || (($dst_ext =="jpeg") && ($dst_type =="2")) || (($dst_ext =="gif") && ($dst_type =="1")) || (($dst_ext =="png") && ($dst_type =="3") )) == false){
unlink($dst_cpl);
die('<p>Het bestand "'. $dst_img . '" met de extensie "' . $dst_ext . '" en imagetype "' . $dst_type . '" is geen geldige afbeelding. Upload een afbeelding met als extensie .JPG, .JPEG, .PNG of .GIF. Zorg ook dat het bestand niet groter is
dan 128mb.</p>');
}
else {
$extra = "4e/";
switch($img_ff)
{
case 'afbeelding':
mysql_query("UPDATE home SET afbeelding='".$extra.$dst_path.$dst_img."'");
break;
}
}
}
//Script ends here.
// If the form is posted do this:
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//Variables needed for the function.
if($_FILES['afbeelding']['name'] != "")
{
$simg = mysql_fetch_assoc(mysql_query("SELECT afbeelding FROM home"));
if ($simg['afbeelding'] != '')
unlink(substr($simg['afbeelding'], 3));
$img_ff = 'afbeelding';
$dst_path = 'images/home/';
$dst_img = strtolower($_FILES[$img_ff]['name']);
uploadImage($img_ff, $dst_path, $dst_img);
}
echo 'Home-pagina succesvol geüpdatet.';
header('refresh:2;url=index.php');
}
}
?>Alvast bedankt als iemand de fout vindt!
Corné Steenbakkers