0

Preciso de ajuda - Upload de foto

criado por Guilherme em 04/10/2010 2:02pm
Codigo:
<?
function delete_file($name)
{
if (file_exists($name))
unlink($name);
}

if ($_GET['send']=='1')
{
session_start();

$filename = "../upload/" . uniqid("").tmp;

$ext = strrchr($HTTP_POST_FILES["file"]["name"], '.');
move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"], $filename);

/*if ($ext=='.gif')
{
passthru("gif2png -O -d ../upload/". $filename);
$filename = $filename . ".png";
$img = @imagecreatefrompng($filename);
}
else*/ if($ext=='.jpg' && filesize($filename)<300832)
$img = @imagecreatefromjpeg($filename);
else
{
delete_file($filename);
header('Location: upload.php?cm='. $_GET['cm'] .'&error=Only .jpg files smaller than 300kb are allowed&refresh='. uniqid(""));
die();
}

if (strlen($_GET['cm'])>0)
{
delete_file('c_'. $_GET['cm'].'.jpg');
delete_file('c_'. $_GET['cm'].'_m.jpg');
}
else
{
delete_file($_SESSION['id'].'.jpg');
delete_file($_SESSION['id'].'_m.jpg');
}

$size = getimagesize($filename);
$width= $size[0];
$height= $size[1];

if ($width>128)
{
$percentage = 128 / $width;
$width *= $percentage;
$height *= $percentage;

$img_r = imagecreatetruecolor ($width, $height);
imagecopyresampled($img_r, $img, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
}
else
{
$img_r = $img;
}

if ($width>64)
{
$percentage = 64 / $width;
$width *= $percentage;
$height *= $percentage;
}
$img_sm = imagecreatetruecolor($width, $height);
imagecopyresampled($img_sm, $img, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);

if (strlen($_GET['cm'])>0)
{
ImageJpeg($img_r, "../upload/c_". $_GET['cm'] . ".jpg", 100);
ImageJpeg($img_sm, "../upload/c_". $_GET['cm'] . "_m.jpg", 100);
}
else
{
ImageJpeg($img_r, "../upload/". $_SESSION['id'] . ".jpg", 100);
ImageJpeg($img_sm, "../upload/". $_SESSION['id'] . "_m.jpg", 100);
}

delete_file($filename);

header('Location: upload.php?cm='. $_GET['cm'] .'&refresh='. uniqid(""));
die();
}
?>


Dá sempre o mesmo erro,diz que a imagem não é JPG e/ou tem mais de 300kbs.mesmo não tendo...

Lista de Respostas:

0
04/10/2010 3:23pm
(~7 anos atrás)
Cara
Não fique espalhando um bando de perguntas pelo site.
Se você escreveu no forum, então, escreva apenas lá.
Aqui é FAQ.
No forum sua pergunta já está respondida...

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)