upload com redimensionamento
Todas as imagens de tamnho muito grande que eu tendo enviar pelo servidor usando o sistema de upload com redimensionamento, esta dando erro em todas as linhas do redimensionamento.
upload.php(A base desse arquivo foi tirada de um tutorial feito por ozorio)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1 ">
<title>Upload Foto</title>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />
</head>
<body>
<center>
<h2>Upload Fotos</h2>
<form name="up" action="" method="POST" enctype="multipart/form-data">
<select name="categoria">
<option value="Basculante">Basculante</option>
<option value="Escada">Escada</option>
<option value="Artistico">Artistico</option>
</select>
Codigo:<input type="text" name="codigo" value="" />
Imagem:<input type="file" name="arquivo" value="" />
Legenda:<input type="text" name="legenda" value="" />
<input type="submit" name="submit" value="submeter" />
</form>
<?php
if (isset ($_POST["submit"])) {
//chmod ("fotos", 0777);class upload {
// atributos
var $arquivo;
var $arquivo_nome;
var $arquivo_size;
var $arquivo_diretorio;
var $mover_arquivo;
var $legenda;
var $insere;
var $categoria;
var $codigo;
var $ren;
function envia() {
$this->arquivo=$_FILES["arquivo"];
$this->arquivo_nome=$this->arquivo["name"];
$this->arquivo_size=$this->arquivo["size"];
$this->legenda=$_POST['legenda'];
$this->ren;
$this->categoria=$_POST['categoria'];
$this->codigo=$_POST['codigo'];
//verifica se existe algum arquivo selecionado
if($this->arquivo_nome==false){
echo"<script>alert('Selecione um arquivo ok]');</script>";
echo"<script>history.back();</script>";
exit();
}
//verifica se existe algum arquivo selecionado
if($this->codigo==false){
echo"<script>alert('Insira um código]');</script>";
echo"<script>history.back();</script>";
exit();
}
//verifica se existe algum arquivo selecionado
if($this->categoria==false){
echo"<script>alert('Selecione uma categoria]');</script>";
echo"<script>history.back();</script>";
exit();
}
// geramos um nome unico para a imagem
$this->ren = strtolower($this->arquivo_nome);
//verifica extenção do arquivo
if(!preg_match("^[a-z A-Z 09 -_]+[.]+[jpg,png,gif]^",$this->ren)) {
echo"<script>alert('Arquivo nao permitido para upload Ok');</script>";
echo"<script>history.back();</script>";
exit();
}
// upload e registro de pasta
$this->arquivo_diretorio = "../galeria/images/".$this->ren;
//verifica se ja exite o codigo
require_once '../conecta.php';
$sql_2 = mysql_query("SELECT * FROM `galeria` WHERE codigo = $this->codigo");
$num_img = mysql_num_rows($sql_2);
if($num_img=='1') {
echo"<script>alert('Codigo ja cadastrado');</script>";
echo"<script>history.back();</script>";
exit();
}
// verifica se arquivo ja existe no diretorio
if(file_exists($this->arquivo_diretorio)) {
echo"<script>alert('Arquivo ja existe em Nosso Servidor');</script>";
echo"<script>history.back();</script>";
exit();
}else {
// Upload e alocação de arquivo
$this->mover_arquivo = copy($this->arquivo["tmp_name"], $this->arquivo_diretorio);
//cria nova imagem tumb com tamano H100xW154
//redimencionar
include('redimensionar.php');
redimensionar($this->arquivo, $this->ren, 100, "../galeria/thumbnails");
redimensionar($this->arquivo, $this->ren, 420, "../galeria/images");
// incluimos e enviamos para o banco de dados
$this->insere="INSERT INTO galeria (codigo,imagem,thumbnails,legenda,categoria)VALUES ('$this->codigo','$this->ren','$this->ren','$this->legenda','$this->categoria')";
mysql_query($this->insere) or die (mysql_error());
echo"<script>alert('Arquivo Enviado com Sucesso');</script>";
}}// função envia fim
}//classe upload fim
$upload=new upload();//objeto instanciado
$upload->envia();
}//bt.submit fim
?>
<div align="center"><a href="index.php">>>Voltar ao Album<<</a></div>
</center>
</body>
</html>
Redmencionar.php
<?php
function redimensionar($imagem, $name, $altura, $pasta){
$img = imagecreatefromjpeg($imagem['tmp_name']);
$x = imagesx($img);
$y = imagesy($img);
$largura = ($altura * $x)/$y;
$nova = imagecreatetruecolor($largura, $altura);
imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y);
imagejpeg($nova, "$pasta/$name");
imagedestroy($img);
imagedestroy($nova);
return $name;
}
?>
Erro
Warning: copy() [function.copy]: Unable to access in /home/c92109/public_html/teste/adm/upload.php on line 114
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Filename cannot be empty in /home/c92109/public_html/teste/adm/redimensionar.php on line 3
Warning: imagesx(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 4
Warning: imagesy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 5
Warning: Division by zero in /home/c92109/public_html/teste/adm/redimensionar.php on line 6
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/c92109/public_html/teste/adm/redimensionar.php on line 7
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 8
Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 9
Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 10
Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 11
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Filename cannot be empty in /home/c92109/public_html/teste/adm/redimensionar.php on line 3
Warning: imagesx(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 4
Warning: imagesy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 5
Warning: Division by zero in /home/c92109/public_html/teste/adm/redimensionar.php on line 6
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/c92109/public_html/teste/adm/redimensionar.php on line 7
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 8
Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 9
Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 10
Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/c92109/public_html/teste/adm/redimensionar.php on line 11
Mesmo dando o erro ele insere no banco de dados todos os dados ate o caminho da imagem mas não envia as imagame para suas pasta
Isso ocorre apenas com imagem acima de 2Mb.
Coloquei o titolo do topico errado, apesar desse sistema estar mt lerdo para enviar apenas 1 image, mais o q pressiso mais urgente é arrumar esso erro.
Discussão (1)
Carregando comentários...