kklj 0 Denunciar post Postado Maio 31, 2008 alguem sabe me informar q erro é esse? Warning: getimagesize(C:\Documents and Settings\Administrador\Configurações locais\Temp\phpAD.tmp) [function.getimagesize]: failed to open stream: No such file or directory in C:\Arquivos de programas\xxxxxxxxx\templates\upload.php on line 23 onde a linha 23 é $tamanhos = getimagesize($arquivo["tmp_name"]); isso é uma funcao para upload, o engracado q tenho essa mesma funcao rodando na mesma maquina e nao da esse erro. so q a outra nao é funcao e sim um script, eu estou passando para funcao e ta dando esse erro. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 31, 2008 Ta dando erro porque o getimagesize não está atribuido a imagem, e sim ao seu nome, você deve atribuir o getimagesize diretamente a imagem... $_FILES['imagem']... Compartilhar este post Link para o post Compartilhar em outros sites
kklj 0 Denunciar post Postado Maio 31, 2008 Ta dando erro porque o getimagesize não está atribuido a imagem, e sim ao seu nome, você deve atribuir o getimagesize diretamente a imagem... $_FILES['imagem']... Alaerte, estou fazendo assim, e continua com o mesmo erro. $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; . . . $tamanhos = getimagesize("$arquivo"); obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 31, 2008 Como assim erro mano ? é só você pegar os tamanhos agora, vea: <?php $arquivo_img = 'teste.jpg'; $dimen = GetImageSize($arquivo_img); // pegamos a largura e altura e jogamos em um array. echo $largura = $dimen[0].'<br />'; // largura echo $altura = $dimen[1]; // altura Compartilhar este post Link para o post Compartilhar em outros sites
kklj 0 Denunciar post Postado Maio 31, 2008 é isso mesmo fera, nao to conseguindo colocar para funcionar, vou colocar o codigo completo function x($foto){ $erro = $config = array();// Prepara a variável do arquivo $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Tamanho máximo do arquivo (em bytes) $config["tamanho"] = 106883;// Largura máxima (pixels) $config["largura"] = 400;// Altura máxima (pixels) $config["altura"] = 300; // Formulário postado... executa as ações if($arquivo){ // Verifica se o mime-type do arquivo é de imagem $x = $arquivo["name"]; if (!empty($x)){//condicao para grava campo foto vazio if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // O ERRO OCORRE NESTA LINHA echo $tamanho[0]; // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; } } // Imprime as mensagens de erro if(sizeof($erro)){ foreach($erro as $err){ echo " - " . $err . "<BR>"; } echo "<a href=\"agenda.php\">Fazer Upload de Outra Imagem</a><br/>"; } // Verificação de dados OK, nenhum erro ocorrido, executa então o upload... else{ // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera um nome único para a imagem $arquivo = $_FILES['foto']; // Caminho de onde a imagem ficará $imagem_dir = "teste/" . basename($arquivo['name']); // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); chmod($imagem_dir , 0777); }//fim de else } }//fim do se arkivo return ($imagem_dir); }//fim da funcaoe depois eu chamo essa funcao, sera q esta dando erro por ser uma funcao (function x)?? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 31, 2008 Suspeitei disso... altere o nome para algo mais complexo, como está chamando a função ? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 31, 2008 Fiz algumas alterações, troquei o nome da função, e a variável $foto de dentro da função, coloquei $arquivos, e na hora de pegar a imagem fiz isso: lado_x($_FILES['foto']); com relação ao getsize eu estava errado sobre pegar os tamanhos no post que fiz assima, tem que ser com getimagesize($arquivos['tmp_name'] mesmo... testa ai, agora está OK, pelo menos aqui. <form name="teste" action="" method="POST" enctype="multipart/form-data"> Foto: <input type="file" name="foto"> <input type="submit" name="ok" value="Enviar"> </form> <?php function lado_x($arquivo){ #$erro = $config = array();// Prepara a variável do arquivo #$arquivo = isset($_FILES["foto"]) ? ($arquivo=$_FILES["foto"]) : FALSE;// Tamanho máximo do arquivo (em bytes) $config["tamanho"] = 106883;// Largura máxima (pixels) $config["largura"] = 400;// Altura máxima (pixels) $config["altura"] = 300; // Formulário postado... executa as ações if($arquivo){ // Verifica se o mime-type do arquivo é de imagem $x = $arquivo["name"]; if (!empty($x)){//condicao para grava campo foto vazio if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo['tmp_name']); // O ERRO OCORRE NESTA LINHA echo $tamanhos[0]; // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; } } // Imprime as mensagens de erro if(sizeof($erro)){ foreach($erro as $err){ echo " - " . $err . "<BR>"; } echo "<a href=\"agenda.php\">Fazer Upload de Outra Imagem</a><br/>"; } // Verificação de dados OK, nenhum erro ocorrido, executa então o upload... else{ // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // Gera um nome único para a imagem $arquivo = $_FILES['foto']; // Caminho de onde a imagem ficará $imagem_dir = "teste/" . basename($arquivo['name']); // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); chmod($imagem_dir , 0777); }//fim de else } }//fim do se arkivo return ($imagem_dir); }//fim da funcao lado_x($_FILES['foto']); ?>Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
kklj 0 Denunciar post Postado Maio 31, 2008 funcionou, agora nao esta mais mostrando akela mansagem de erro mais. so q nao entendi 2 coisas, rs. uma funcao nao pode ter um nome tao currto como akele? apenas um caracter. e outra o q essa linha faz? lado_x($_FILES['foto']); ha desculpa pela ignorancia, é pq sou iniciante e estou usando pela primeira vez funcoes, rs. obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Maio 31, 2008 Percebi que você é novo. isso: lado_x($_FILES['foto']); vai pegar a imgem vinda do formulário, como se fosse $arquivo=$_FILES['foto'] etende ? então ele vai passar para a variável $arquivo todos os parâmetros da imagem... em relação ao nome da função, pode ser daquele jeito mesmo, não tem problema, suspeitei porque com é apenas um caractere as vezes pode dar conflito com alguma outra função mais é raro. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites