上传后png和gif文件变黑

时间:2012-08-29 16:19:27

标签: php upload png uploadify

我有这个代码可以创建两个新的拇指,它可以与jpg图像完美配合,但它会在上传时提供黑色的png和gif文件!

你能告诉我这里有什么问题吗? 我该怎么办?

...谢谢

$stempFile = $_FILES['Filedata']['tmp_name'];
$stargetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$stargetPath =  str_replace('//','/',$stargetPath);
$extension = array_pop( explode(".", $_FILES['Filedata']['name']) ); 
$stargetFile = $stargetPath . basename($_FILES['Filedata']['name'],'.' .$extension) . '_s.' . $extension;   


tamano_nuevo_foto($tempFile, 800, $targetFile);

功能:

function tamano_nuevo_foto($im_or,$ancho_nv,$dir_nv)
{
$img = imagecreatefromjpeg($im_or);
$datos = getimagesize($im_or);
$ancho = $datos[0];
$alto = $datos[1];
if ($ancho > $ancho_nv) //Si la imagen no lelga al máximo no la tocamos.
{
$prop = $alto / $ancho; /*Calculo la proporcion entre la or y la nv (lo miltiplicamos por mil para evitar problemas con decimales */
$alto_nv = round($ancho_nv * $prop); //Sacamos la nueva altura
}
else
{
$ancho_nv = $ancho;
$alto_nv = $alto;
}
$im_nv = imagecreatetruecolor($ancho_nv,$alto_nv);
imagecopyresampled($im_nv, $img, 0, 0, 0, 0, $ancho_nv, $alto_nv, $ancho, $alto);
imagejpeg($im_nv,$dir_nv);
imagedestroy($im_nv);
}