Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
No exemplo do cod abaixo, ele gera dentro da pasta fotos/ certinho as 3 imagens thumb e as 3 imagens grandes com os tamanhos aplicados pela classe getimagesize.
Agora no meu sistema de veiculos, Terá uma foto principal, e 4 imagens pequenas, como faço para puxar no img src=""
a imagem enviada para o servidor? Ex: a form1 fez o upload da 1ª imagem, como puxar essa imagem no local que eu quero?
index.php
<?php
if(!(file_exists("class_upload.php"))){
exit("Classe class_upload.php nao encontrada");
} else {
require_once "class_upload.php";
}
if($_SERVER["REQUEST_METHOD"] == "POST"){
$upload = new Upload();
$upload->Enviar_Fotos();
exit;
}
?>
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" enctype="multipart/form-data" name="form1">
<input type="file" name="arquivo[]"><br />
<input type="file" name="arquivo[]"><br />
<input type="file" name="arquivo[]">
<input type="submit" name="Submit" value="Enviar">
</form>
</body>
</html><?php
/Fabyo Guimaraes de Oliveira /
function reduz_imagem($img, $max_x, $max_y, $nome_foto) {
//pega o tamanho da imagem ($original_x, $original_y)
list($width, $height) = getimagesize($img);
$original_x = $width;
$original_y = $height;
// se a largura for maior que altura
if($original_x > $original_y) {
$porcentagem = (100 * $max_x) / $original_x;
}
else {
$porcentagem = (100 * $max_y) / $original_y;
}
$tamanho_x = $original_x * ($porcentagem / 100);
$tamanho_y = $original_y * ($porcentagem / 100);
$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
$image = imagecreatefromjpeg($img);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);
return imagejpeg($image_p, $nome_foto, 100);
}
?><?php
set_time_limit(0);
if(!(file_exists("funcoes.php"))){
exit("funcoes.php nao encontrada");
} else {
require_once "funcoes.php";
}
class Upload
{
var $arquivo = "";
var $erro = array ( "0" => "upload execultado com sucesso!",
"1" => "O arquivo é maior que o permitido pelo Servidor",
"2" => "O arquivo é maior que o permitido pelo formulario",
"3" => "O upload do arquivo foi feito parcialmente",
"4" => "Não foi feito o upload do arquivo"
);
function Enviar_Fotos()
{
$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
for($i = 0; $i < 3; $i++){
$name = $this->arquivo['name'][$i];
$type = $this->arquivo['type'][$i];
$tmp_name = $this->arquivo['tmp_name'][$i];
$error = $this->arquivo['error'][$i];
$size = $this->arquivo['size'][$i];
if(is_uploaded_file($tmp_name)) {
$this->salvar_fotos($tmp_name, $error);
} else {
echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$error]."</span><br />";
}
}
}
function salvar_fotos($tmp_name, $error)
{
$diretorio = "fotos/";
if(!file_exists($diretorio)){
if(!(mkdir($diretorio))) die("Nao foi possivel criar a pasta fotos");
}
$get = getimagesize($tmp_name);
if($get["mime"] != "image/jpeg"){
die("<span style=\"color: white; border: solid 1px; background: red;\">Esse arquivo nao é uma imagem valida</span>");
}
$nome_foto = "imagem_".microtime().".jpg";
$nome_thumb = "thumb_".microtime().".jpg";
if (!(is_writable($diretorio))) {
die('O diretorio fotos não possui permissão de escrita');
}
//determino uma resolução maxima e se a imagem for maior ela sera reduzida
reduz_imagem($tmp_name, 400, 300, $diretorio.$nome_foto);
//passo o tamanho da thumbnail
reduz_imagem($tmp_name, 120, 90, $diretorio.$nome_thumb);
echo "<span style=\"color: white; border: solid 1px; background: blue;\">".$this->erro[$error]."</span><br />";
}
}
?>Carregando comentários...