Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
:blink:
Galera peguei o script de upload já não me lembro onde, e fiz umas adaptações tais como:
* verificar tamanho do arquivo permitido
* verificar altura e largura permitida
* verificar tipo de arquivo permitido
* verificar se o arquivo já existe.
Bom agora eu queria muito a ajuda dos feras para acrescentar neste script, por que eu mesmo não consegui. Seria fazer com que ele possa enviar mais de uma foto, ou seja enviar 5 ou mais fotos de uma vez só. Por tanto peço que se os "CARAS!!" ajudar nisso fico muito agradecido. segue abaixo os scritps: :blink:
upload.php
<?require_once "class_upload.php";$upload = new Upload();$upload->Envia_Arquivo();?><html><head><title>Upload</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form action="upload.php" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="arquivo"> <input type="submit" name="Submit" value="Enviar"></form></body></html>
class_upload.php
<?php/*_____________________________________ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨ Atualizado por: ¨ ¨ ¨ ¨ Sandro C. Oliveira ¨ ¨ ¨ ¨ sandro.webdesign@gmail.com ¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ _______________________________________ */set_time_limit(0);include "funcoes.php"; class Upload{ var $arquivo = ""; var $erro = array (); //Exibe alert do java script. function alerta($texto,$redirect="") { echo "<script language=javascript>"; echo "alert(\" $texto \");"; if ($redirect!="") echo "window.location=\"$redirect\";"; echo "</script>"; } function Verifica_Upload() { $this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { return false; } #! Defina as extensões que serão aceitas. if(!eregi("^image\/(pjpeg|jpeg|gif)$", $this->arquivo['type'])) { $erro[] = $this->alerta("Esse arquivo ".$this->arquivo['name']." não é uma imagem válida!", "java script:history.go(-1)"); exit; } return true; } function Envia_Arquivo() { if($this->Verifica_Upload()) { $this->gera_fotos(); return true; } else { $erro[] = $this->alerta("".$this->erro[$this->arquivo['error']].""); } } function gera_fotos() { $config = array(); // Largura Mxima, em pixels $config["largura"] = 490; // Altura Mxima, em pixels $config["altura"] = 370; // Tamanho máximo do arquivo em Kbytes. $kbytes = 5; //Defina aqui o tamanho necessário em Kbytes. $maximo = $kbytes * 1024; //Diretório onde armazenará as imagens. $diretorio = "fotos/"; // Para verificar as dimenses da imagem $tamanhos = getimagesize($this->arquivo["tmp_name"]); $nome_foto = "imagem_".$this->arquivo['name']; $nome_thumb = "thumb_".$this->arquivo['name']; //Caso diretório não exista ele será criado para o envio. if(!file_exists($diretorio)) { mkdir($diretorio); } if(file_exists($diretorio.$nome_foto)) { $erro[] = $this->alerta("Arquivo já existe!!", "java script:history.go(-1)"); exit; } // Verifica tamanho do arquivo. if ($this->arquivo['size'] > $maximo) { $erro[] = $this->alerta("Erro! O arquivo enviado por você ultrapassa o limite máximo de " . $maximo . " kbytes! Envie outro arquivo","java script:history.go(-1)"); exit; } // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = $this->alerta("Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"); // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = $this->alerta("Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"); echo "<meta http-equiv=\"refresh\" content=\"0;URL=java script:history.go(-1)\">"; exit; } } if($tamanhos["mime"] == "image/jpeg") { //determino uma resolução maxima e se a imagem for maior ela sera reduzida. reduz_imagem($this->arquivo['tmp_name'], $tamanhos[0], $tamanhos[1], $diretorio.$nome_foto); //passo o tamanho da thumbnail. reduz_imagem($this->arquivo['tmp_name'], 120, 90, $diretorio.$nome_thumb); //Mensagem $erro[] = $this->alerta("Imagem enviada com SUCESSO!!"); } if($tamanhos["mime"] == "image/gif") { //determino uma resolução maxima e se a imagem for maior ela sera reduzida. reduz_imagem1($this->arquivo['tmp_name'], $tamanhos[0], $tamanhos[1], $diretorio.$nome_foto); //passo o tamanho da thumbnail. reduz_imagem1($this->arquivo['tmp_name'], 120, 90, $diretorio.$nome_thumb); //Mensagem $erro[] = $this->alerta("Imagem enviada com SUCESSO!!"); } } }?>
funcoes.php
<?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 alturaif($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);}/*Fabyo Guimaraes de Oliveira */function reduz_imagem1($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 alturaif($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 = imagecreatefromgif($img);imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);return imagegif($image_p, $nome_foto, 100);}?>Carregando comentários...