Na verhuizing andere server werkt Upload funtie niet meer
Ik heb een probleem. Vandaag ben ik met mijn website naar een andere server verhuisd.
Ik heb volgende upload code:
function uploadimage($file,$dir)
{
$fileparts = pathinfo($file['name']);
$imageinfo = getimagesize($_FILES['foto1']['tmp_name']);
$allowed = array(
'gif'=>'image/gif',
'jpg'=>'image/jpeg',
'jpeg'=>'image/jpeg',
'png'=>'image/png');
$key = strtolower($fileparts['extension']);
if (!array_key_exists($key, $allowed) || $imageinfo['mime'] != $allowed[$key]) {
echo "Onjuist bestandsformaat!\n";
exit;
}
date_default_timezone_set('Europe/Amsterdam');
$filename = 'img_' . $_SESSION['gid'] . '_' . date("YmdHis") . '.' . $fileparts['extension'];
if ($_FILES['foto1']['size'] > 2000000){
echo'De foto die u probeerde te uploaden is te groot!';
exit();
}
if(file_exists($dir . $filename))
{
echo 'De foto die u probeerde te uploaden bestaat al!';
exit();
}
elseif(is_uploaded_file($file['tmp_name']))
{
$return = move_uploaded_file($file['tmp_name'], $dir . $filename)
? 2
: 3;
list($width, $height) = getimagesize($dir . $filename);
$new_width = 40;
$new_height = 50;
$image_p = imagecreatetruecolor($new_width, $new_height);
switch ( $fileparts['extension'] ) {
case 'jpeg':
case 'jpg':
$image = imagecreatefromjpeg($dir . $filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, $dir.'thumb/'.$filename);
break;
case 'gif':
$image = imagecreatefromgif($dir . $filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagegif($image_p, $dir.'thumb/'.$filename);
break;
case 'png':
$image = imagecreatefrompng($dir . $filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagepng($image_p, $dir.'thumb/'.$filename);
break;
}
}
else
{
$return = 4;
}
return array('status'=>$return,'filename'=>$filename);
}
Hij upload de foto wel, maar verkleint en verplaatst hem niet naar de "thumb" map. Heel raar. Deed hij op de oude server wel.
Hoe kan dit? Wat moet ik doen?
Just debug it :-)
Smijt er eens wat echo's en foutafhandelingen in en ga een uitzoeken waar het mis gaat?
Gewijzigd op 01/01/1970 01:00:00 door - Ariën -
Blijft toch heel vreemd verhaal.
Je zegt het zelf... 'een serververhuizing'.
Geen enkele server is 100% hetzelfde, en dus ook de configuratie kan verschillen.
Wat denk jij dan dat er verkeerd gaat? De code is toch echt juist.
Probleem opgelost.
matthew schreef op 15.06.2009 22:44:
Ja, maar als op de oude server bijvoorbeeld GD niet geinstalleerd is of een oude PHP versie draait, zal deze code toch echt niet werken. Ook al doet hij het op de oude server wel...Wat denk jij dan dat er verkeerd gaat? De code is toch echt juist.
Maar goed, foutmeldingen die je script genereert geven zoiets snel genoeg aan. Begin je scripts tijdens het ontwikkelen daarom ook altijd met:
Dan worden alle fouten tenminste weergegeven.
matthew schreef op 15.06.2009 22:55:
Probleem opgelost.
hoe, wat, waar,
misswchien handig om hier de oplossing te zetten voor de mensen die ook hetzelfde probleem hebben ??