boas malta arranjei este pequeno codigo para fazer upload e redimensionar um thumb em 150*200,
mas o problema é que preciso tambem de redimensionar a imagem original para 800*600 e não sei como fazer isso,
(mudei tb o codigo pra meter o endereco na base dados mas isso ta tudo funcionando, so falta mesmo a original para 800*600 ou algo do genero)
já tentei duplicar o codigo e mudar as variaveis mas não ta funcionando,
alguém me pode botar uma maozinha ai ???
valeu
define("TWIDTH", "200");
define("THEIGHT", "150");
define("IDIR", "images/");
define("TDIR", "images/thumbs/");
$idir = IDIR;
$tdir = TDIR;
$twidth = TWIDTH; // Maximum Width For Thumbnail Images
$theight = THEIGHT; // Maximum Height For Thumbnail Images
if (!isset($_GET['subpage'])) { // Image Upload Form Below ?>
<form method="post" action="add.php<?php echo $_SESSION["string"]; ?>&subpage=upload" enctype="multipart/form-data">
File:<br />
<input type="file" name="imagefile" class="form" >
<br /><br />
<input name="submit" type="submit" value="Adicionar" class="form"> <input type="reset" value="Limpar" class="form">
</form>
<?php } else if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') { // Uploading/Resizing Script
$url = $_FILES['imagefile']['name']; // Set $url To Equal The Filename For Later Use
if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
$file_ext = strrchr($_FILES['imagefile']['name'], '.'); // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
///////////////////////////////////
///////////////////////////////////
$copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']); // Move Image From Temporary Location To Permanent Location
$bigimg = "$idir" . $_FILES['imagefile']['name'];
$_SESSION["bigimg"] = $bigimg;
$smallimg = "$tdir" . $_FILES['imagefile']['name'];
if ($copy) { // If The Script Was Able To Copy The Image To It's Permanent Location
//print 'Imagem enviada com sucesso. -> '; // Was Able To Successfully Upload Image~
//////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
//envia imagem grand pra bd
$tab = TAB;
$token = $_SESSION["token"];
query("UPDATE `$tab` SET `bimg`='$bigimg' WHERE `token`='$token'");
//////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
print $bigimg.'<br />';
$simg = imagecreatefromjpeg("$idir" . $url); // Make A New Temporary Image To Create The Thumbanil From
$currwidth = imagesx($simg); // Current Image Width
$currheight = imagesy($simg); // Current Image Height
if ($currheight > $currwidth) { // If Height Is Greater Than Width
$zoom = $twidth / $currheight; // Length Ratio For Width
$newheight = $theight; // Height Is Equal To Max Height
$newwidth = $currwidth * $zoom; // Creates The New Width
} else { // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
$zoom = $twidth / $currwidth; // Length Ratio For Height
$newwidth = $twidth; // Width Is Equal To Max Width
$newheight = $currheight * $zoom; // Creates The New Height
}
$dimg = imagecreate($newwidth, $newheight); // Make New Image For Thumbnail
imagetruecolortopalette($simg, false, 256); // Create New Color Pallete
$palsize = ImageColorsTotal($simg);
for ($i = 0; $i < $palsize; $i++) { // Counting Colors In The Image
$colors = ImageColorsForIndex($simg, $i); // Number Of Colors Used
ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']); // Tell The Server What Colors This Image Will Use
}
imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight); // Copy Resized Image To The New Image (So We Can Save It)
imagejpeg($dimg, "$tdir" . $url); // Saving The Image
$vamos = imagejpeg($dimg, "$tdir" . $url);
imagedestroy($simg); // Destroying The Temporary Image
imagedestroy($dimg); // Destroying The Other Temporary Image
print 'Imagem reduzida enviada com sucesso. -> '; // Resize successful
//////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
print $smallimg.'<br />';
//envia pequena pra bd
$tab = TAB;
$token = $_SESSION["token"];
query("UPDATE `$tab` SET `simg`='$smallimg' WHERE `token`='$token'");
//////////////***************************\\\\\\\\\\\\\\\\\\\\\\\\\\\
header("Location: "."?".$_SESSION["string"]."&div=3");
} else {
print '<font color="#FF0000">ERRO: não foi possivel enviar a imagem.</font>';
header("Location: "."?".$_SESSION["string"]."&div=5"); // Error Message If Upload Failed
}
} else {
print '<font color="#FF0000">ERRO: Extencao Invalida (Deve ser .jpg ou .jpeg. A sua e '.$file_ext; // Error Message If Filetype Is Wrong
header("Location: "."?".$_SESSION["string"]."&div=7");
print $file_ext; // Show The Invalid File's Extention
print '.</font>';
print_footer();
Pergunta
m3io
boas malta arranjei este pequeno codigo para fazer upload e redimensionar um thumb em 150*200,
mas o problema é que preciso tambem de redimensionar a imagem original para 800*600 e não sei como fazer isso,
(mudei tb o codigo pra meter o endereco na base dados mas isso ta tudo funcionando, so falta mesmo a original para 800*600 ou algo do genero)
já tentei duplicar o codigo e mudar as variaveis mas não ta funcionando,
alguém me pode botar uma maozinha ai ???
valeu
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.