calintro 0 Denunciar post Postado Dezembro 18, 2006 <?phpinclude 'inc/config.php';include 'inc/conn.php';if(isset($_FILES["arquivo"])) {$arquivo = $_FILES["arquivo"];$pasta_dir = "imagens/";$tipo = explode(".", $arquivo['name']);if (!file_exists($pasta_dir)) {mkdir($pasta_dir);}if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { echo "Formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png.";}else {$arquivo_nome = $pasta_dir . md5(date("d/m/Y H:i:s") . $arquivo['name']) . "." .$tipo[1];move_uploaded_file($arquivo['tmp_name'], $arquivo_nome);mysql_query("INSERT INTO fotos VALUES ('', '$arquivo_nome')");mysql_close($cn); }}elseif (isset($_POST['link'])) {$link = $_POST['link'];mysql_query("INSERT INTO fotos VALUES('', '$link')");mysql_close($cn);}?> O problema é o seguinte: O sistema tenta analisar o campo $_FILES['arquivo'] mesmo que eu o deixe em branco e só preencha o outro campo($_POST['link']), que é o qual o usuário envia uma imagem de outro servidor através de um link. Quando eu coloco no formulário apenas o campo de imagem remota, acontece o seguinte erro: Formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. - Como se eu estivesse tentando passar algo através do campo de $_FILES['arquivo']. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 18, 2006 Troque if(isset($_FILES["arquivo"])) por if(isset($_FILES["arquivo"]["name"])) Teste e poste o resultado. []'s Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 O erro continua aparecendo. Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Dezembro 18, 2006 <?phpinclude 'inc/config.php';include 'inc/conn.php';if(isset($_FILES["arquivo"])) {$arquivo = $_FILES["arquivo"];$pasta_dir = "imagens/";$tipo = explode(".", $arquivo['name']);if (!file_exists($pasta_dir)) {mkdir($pasta_dir);}if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"])) { echo "Formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png.";}else {$arquivo_nome = $pasta_dir . md5(date("d/m/Y H:i:s") . $arquivo['name']) . "." .$tipo[1];move_uploaded_file($arquivo['tmp_name'], $arquivo_nome);mysql_query("INSERT INTO fotos VALUES ('', '$arquivo_nome')");mysql_close($cn); }}elseif (isset($_POST['link'])) {$link = $_POST['link'];mysql_query("INSERT INTO fotos VALUES('', '$link')");mysql_close($cn);}?> O problema é o seguinte: O sistema tenta analisar o campo $_FILES['arquivo'] mesmo que eu o deixe em branco e só preencha o outro campo($_POST['link']), que é o qual o usuário envia uma imagem de outro servidor através de um link. Quando eu coloco no formulário apenas o campo de imagem remota, acontece o seguinte erro: Formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. - Como se eu estivesse tentando passar algo através do campo de $_FILES['arquivo']. não sei se entendi bem, mas tenta testar se o campo file está vazio: if(isset($_FILES["arquivo"]) && !empty($_FILES["arquivo"])) { tenta aí e dá o retorno. Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Também não deu. :( Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Dezembro 18, 2006 Também não deu. :(Faz o seguinte aonde você recebe o file:echo('<pre>');print_r($arquivo);echo('</pre>'); e veja o que está sendo passado Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Também não deu. :(Faz o seguinte aonde você recebe o file:echo('<pre>');print_r($arquivo);echo('</pre>'); e veja o que está sendo passadoQuando eu preencho o campo file ele passa o arquivo certinho, sem erro algum. Quando eu preencho só o campo de imagem remota ele não passa nada. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 18, 2006 Tente trocar o elseif por somente if. []'s Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Tente trocar o elseif por somente if.[]'sEle da o erro, mas o link vai pro BD. (No caso da imagem remota)Se eu tento usar o campo de files, acontece o seguinte erro:Warning: mysql_query(): Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO) in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_query(): A link to the server could not be established in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_close(): 5 is not a valid MySQL-Link resource in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 41 Compartilhar este post Link para o post Compartilhar em outros sites
Hamilcar 1 Denunciar post Postado Dezembro 18, 2006 Tente trocar o elseif por somente if.[]'sEle da o erro, mas o link vai pro BD. (No caso da imagem remota)Se eu tento usar o campo de files, acontece o seguinte erro:Warning: mysql_query(): Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO) in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_query(): A link to the server could not be established in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_close(): 5 is not a valid MySQL-Link resource in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 41coloca assim no seu cod pra ver o erro:mysql_query("INSERT INTO fotos VALUES ('', '$arquivo_nome')") or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Warning: mysql_query(): Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO) in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_query(): A link to the server could not be established in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO) Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 18, 2006 Poste o conteúdo do arquivo conn.php, pois o problema é na conexão ao banco. []'s Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Mas só aparece esse erro do DB quando eu boto "if" no lugar de "ifelse" no campo de $_POST. Mas, em todo caso: <?php$cn = mysql_connect("localhost","root");mysql_select_db("teste",$cn);?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 18, 2006 Faça a conexão assim: $cn = mysql_connect("localhost","root", ""); Teste e poste o resultado. :D []'s Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 18, 2006 Warning: mysql_query(): Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO) in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Warning: mysql_query(): A link to the server could not be established in c:\arquivos de programas\php\www\scripts\galeria\upload.php on line 40Acesso negado para o usuário 'ODBC'@'localhost' (senha usada: NÃO):sad: Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 19, 2006 Não esquece de conferir o enctype do formulário que envia os dados enctype="multipart/form-data" Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 19, 2006 Está assim :/ Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 19, 2006 tenta nem que seja: <?php$nome_arquivo = $_FILES[arquivo][name];if ($nome_arquivo != "") {} else {}?> Compartilhar este post Link para o post Compartilhar em outros sites
calintro 0 Denunciar post Postado Dezembro 19, 2006 tenta nem que seja: <?php$nome_arquivo = $_FILES[arquivo][name];if ($nome_arquivo != "") {} else {}?> Deu na mesma que o começo do tópico. :(Não sei o que fazer :/Acho que o erro está em algum {}(), mas não sei exatamente qual, nem porque. Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 19, 2006 Revirei os meus DVDs de backup de clientes e achei algo igual aqui e que na época funcionou (isso uns dois anos atras hehe) // Prepara a variável do arquivo$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Formulário postado... executa as açõesif ($arquivo) { // Verifica se o mime-type do arquivo é de imagem if (!eregi("^image\/(pjpeg|jpeg)$", $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg."; } else { }} Se tu achar que falta algum {} faz a identação do código e tira a prova Compartilhar este post Link para o post Compartilhar em outros sites