PauloRJ 4 Denunciar post Postado Março 3, 2007 Fala ae! Peguei o script de upload de fotos no laboratorio do Fabyo. Mais ae tem o porém. Nao consigo recuperar o nome da foto fora da função. So consigo efetuar o INSERT no banco com nome da foto, se eu colocar o insert dentro da função. Mas como estou trabalhando com cadastro de usuario com foto, não consigo recuperar os dados via $_POST dentro da função e nem o nome da foto fora da função. (compicado) Com isso fico sem escolha, nao estou conseguindo efetuar nem um nem outro. Sim, pensei na ideia de efetuar 2 etapas, cadastro nome etc, e depois enviar a foto. Mas como a dúvida surgiu teria como resgatar o nome da foto ao fim do codigo depois das linhas $upload = new Upload(); $upload->Envia_Arquivo(); Bom para nao terem dúvias eu comentei todas as { } Abraços :rolleyes: <?// Inicio function reduz_imagem($img, $max_x, $max_y, $nome_foto) function reduz_imagem($img, $max_x, $max_y, $nome_foto) { //1//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) { //2 $porcentagem = (100 * $max_x) / $original_x; } //2else { //3 $porcentagem = (100 * $max_y) / $original_y; } //3$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);} //1// Inicio Class Uploadclass Upload{ //4 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" ); // Inicio Funçao Verifica_Upload function Verifica_Upload() { //5 $this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { //6 return false; } //6 $get = getimagesize($this->arquivo['tmp_name']); if($get["mime"] != "image/jpeg") { //7 echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>"; exit; } //7 return true; } //5 // Inicio Funçao Envia_Arquivo function Envia_Arquivo() { //8 if($this->Verifica_Upload()) { //9 $this->gera_fotos(); return true; } //9 else { //10 echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>"; } //10 } //8 // Inicio Funçao gera_fotos function gera_fotos() { //11 $diretorio = "fotos/"; //Diretorio onde salvar as imagens if(!file_exists($diretorio)) { //12 mkdir($diretorio); } //12 $nome_foto = "imagem_".time().".jpg"; $nome_thumb = "thumb_".time().".jpg"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem($this->arquivo['tmp_name'], 600, 800, $diretorio.$nome_foto); //passo o tamanho da thumbnail reduz_imagem($this->arquivo['tmp_name'], 80, 90, $diretorio.$nome_thumb); echo "<span style=\"color: white; border: solid 1px; background: blue;\">".$this->erro[$this->arquivo['error']]."</span>"; } //11 } //4$upload = new Upload();$upload->Envia_Arquivo();?> http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
PauloRJ 4 Denunciar post Postado Março 4, 2007 RESOLVI! Fui testando e percebi que $_SESSION e $_GLOBAL são lidas dentro de function (funções) Com isso consegui inserir as informações dentro da funçã na qual era necessario para completar o WHERE do INSERT. valeu! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites