Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 15:09

To com um erro aqui, quando vai upar a foto da como arquivo não aceito mesmo sendo os formatos.

Será que tem alguma linha do código errado.

Segue o código:

<HTML> <HEAD> <TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <? /* pasta é um diretório a frente do atual que recebe as fotos */ $destination="./pasta"; $tipoarquivo = explode(".", $filename1_name); $tipo=$tipoarquivo[1]; /* abaixo, os formatos aceitos de foto */ if($tipo=="gif" or $tipo=="jpg" and $filename1_name!="png") { copy($filename1,$destination."/".$filename1_name); /* o arquivo foi enviado com sucesso, continua lendo seu código */ /* a variável com o valor da figura é $filename1_name, sem o diretório */ } else { /* se formato não aceito ou campo foto vazio, retorna alerta e volta */ /* não são gravados os dados no BD */ print "<script>window.alert(\"formato de arquivo não aceitos\");history.back()</script>"; exit; } ?> </BODY> </HTML>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 15:14

E o form?

E teu if tá meio sem lógica

if($tipo=="gif" or $tipo=="jpg" and $filename1_name!="png") {

Se for igual a gif ou jpg e diferente de png, ou seja, o cara pode upar qualquer coisa, menos png, é isso mesmo?
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 15:16


<HTML> <HEAD> <TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <FORM NAME="form1" enctype="multipart/form-data" METHOD="post" ACTION="envia_foto.php"><TABLE WIDTH="75%" BORDER="1"><TR><TD WIDTH="14%">Nome:</TD><TD WIDTH="86%"><INPUT TYPE="text" NAME="nome"></TD></TR><TR><TD WIDTH="14%">Fun&ccedil;&atilde;o:</TD><TD WIDTH="86%"><INPUT TYPE="text" NAME="funcao"></TD></TR><TR><TD WIDTH="14%">Foto:</TD><TD WIDTH="86%">&nbsp;<INPUT TYPE="file" NAME="filename1"></TD></TR><TR><TD WIDTH="14%">&nbsp;</TD><TD WIDTH="86%"><INPUT TYPE="submit" NAME="Submit" VALUE="Enviar"></TD></TR></TABLE></FORM> </BODY> </HTML>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 15:21

Agora que ví, você não tá chamando correto o arquivo

chama assim: $_FILES['filename1'][name]
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 15:27

Desculpa não captei a mensagem, este código eu peguei de um tutorial que você fez na parte de tutoriais. Só que não consegui fazer funcionar.

Quanto ao .png to só testando localmente a intensão seria não aceitar .exe e outros que irei colocar.

$_FILES['filename1'][name] coloque onde mesmo, não captei.

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 16:46

$tipoarquivo = explode(".", $filename1_name);

por

$tipoarquivo = explode(".", $_FILES['filename1'][name]);
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 17:03

Então com a mudança ficou assim e da o mesmo erro.
FORMATO NÃO ACEITO, e estou usando um formato .jpg
<HTML> <HEAD> <TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <? /* pasta é um diretório a frente do atual que recebe as fotos */ $destination="./pasta"; $tipoarquivo = explode(".", $_FILES['filename1'][name]); $tipo=$tipoarquivo[1]; /* abaixo, os formatos aceitos de foto */ if($tipo==".gif" or $tipo==".jpg") { copy($filename1,$destination."/".$filename1_name); /* o arquivo foi enviado com sucesso, continua lendo seu código */ /* a variável com o valor da figura é $filename1_name, sem o diretório */ } else { /* se formato não aceito ou campo foto vazio, retorna alerta e volta */ /* não são gravados os dados no BD */ print "<script>window.alert(\"formato de arquivo não aceito\");history.back()</script>"; exit; } ?> </BODY> </HTML>

0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 17:09

Achei o erro, porém quando vai gravar da o erro:

Warning: Unable to open '' for reading: Permission denied in c:\phpdev5\www\envia_foto.php on line 15

É erro na permissão da pasta?

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 18:00

Acho que é o mesmo erro que o outro, o nome do arquivo

copy($filename1,$destination."/".$filename1_name);

para

copy($filename1,$destination."/".$_FILES['filename1'][name]);
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 21:13

Só que já tinha feito está alteração e continua com o mesmo erro.

Warning: Unable to open '' for reading: Permission denied in c:\phpdev5\www\envia_foto.php on line 15

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 21:44

Existe a pasta definida em: $destination?

Um script bom de upload que indico é esse
http://www.codigosnaweb.com/forum/viewtopic.php?p=1992
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

12-11-2008 21:57

Sim tem a pasta, pelo que estou pesquisando teria que ter abaixo do

copy($filename1,$destination."/". $_FILES['filename1'][name]);
algo como
$destination = "./pasta/$_FILES['filename1'][name]";

O que iria dar a permissão para gravar na pasta.
Estou pesquisando, e vou tentar arrumar este só por questão de aprender mesmo, porque nem sempre se acha o pronto né, e quebrando a cabeça que se aprende, se achar a solução posto depois.

Att
Nill Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

12-11-2008 22:21

$destination seria só a pasta mesmo

$destination = "pasta";

Outra coisa que analisei com mais calma

copy($_FILES['filename1']['name'],$destination."/".$_FILES['filename1']['name']);

Usa esse copy() acima

E onde está os $_FILES, usa com aspas simples no name ( $_FILES['filename1']['name'] )

Bota também uma mensagem depois do copy, um texto informando que o upload foi feito.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

15-11-2008 08:28

Depois de todas as modificações o erro mudou para :

Warning: Unable to open 'banner_91fm.jpg' for reading: No such file or directory in c:\phpdev5\www\envia_foto.php on line 15

OOO Bicho complicado, rs.
Att
NIll Ribeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

15-11-2008 13:27

Esse script ai tá com umas imcompatibilidades de versão do PHP, roda esse abaixo, testei já no PHP5

<form action="?acao=upload" method="POST" enctype="multipart/form-data"> <input type="file" name="arquivo" value=""> <input type="submit" value="enviar"> </form> <?php if($_GET['acao']=="upload") { $arquivo = $_FILES['arquivo']['name']; $tipoarquivo = explode(".", $arquivo); if(copy($_FILES['arquivo']['tmp_name'], "fotos/".$arquivo)) { if($tipoarquivo[1]=="gif" || $tipoarquivo[1]=="jpg") { print "<b>$arquivo</b> foi enviado com sucesso."; } else { print "Erro: <b>".$arquivo."</b> tem um formato do arquivo diferente de jpg ou gif."; } } } ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

17-11-2008 18:16

Ok, vou testar.

Att
Nill Ribeiro
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

19-11-2008 12:33

eu fiz um arquivo incluir_foto.php com o código abaixo, e no formulário que você fez inclui o campo funcionário, a intensão é

Incluir a foto e o nome do funcionário.
No banco de dados criei
funcionario char 30
arquivo char 30

no funcionário grava e no arquivo não grava, nunca fiz uma gravação para imagem, seria isso mesmo char 30 ?
Tipo não da erro e só grava o campo funcionario.

OBS: no campo onde ta $arquivo = $_FILE['arquivo']; também usei $_POST mais não foi, gostaria de saber qual a forma que deveria usar para gravar no banco de dados a imagem.

Segue arquivo:

<? $arquivo = $_FILES['arquivo']['name']; $tipoarquivo = explode(".", $arquivo); if(copy($_FILES['arquivo']['tmp_name'], "../equipe/".$arquivo)) { if($tipoarquivo[1]=="gif" || $tipoarquivo[1]=="jpg") { print "<b>$arquivo</b> foi enviado com sucesso."; } else { print "Erro: <b>".$arquivo."</b> tem um formato do arquivo diferente de jpg ou gif."; } } include "../config.php"; $conexao = mysql_connect("$dbhost","$dbuser","$dbpass"); $funcionario = $_POST['funcionario']; $arquivo = $_FILE['arquivo']; $sql = "INSERT INTO equipe (funcionario,arquivo) VALUES ('$funcionario','$arquivo')"; $db = mysql_select_db("$dbname") or die ("Banco de Dados Inesistente!"); $sql = mysql_query($sql) or die ("Ouve erro na gravação!"); {echo " <script> alert(\"Categoria Incluida com Sucesso\"); window.location = '/painel_admin/index.php?pg=cadastrar_categoria'; </script>";} ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

19-11-2008 12:43

O correto é $_FILES['filename1'][name]

Onde filename é o name do input file

Você definiu arquivo de forma correta no início do script
$arquivo = $_FILES['arquivo']['name'];

Depois definiu de forma incorreta antes do insert
$arquivo = $_FILE['arquivo'];

Antes de inserir, use um echo para ver se o valor está vindo antes do insert.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

19-11-2008 12:49

Agora funcionou, muito obrigado web você me ajudou muito com este script, sempre tentei e nunca consegui, agora vi de uma forma bem simples de fazer.

Agora to feito, rs.
Posso fazer o meu site da forma que sempre quiz.
Obrigado mesmo,
Continuo divulgando, porque aqui aprende-se mais fácil.
Valeu
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

19-11-2008 13:09

Boa :kickup
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

19-11-2008 17:00

Como faço para passar a verificação antes de inserir o arquivo no banco de dados.

Porque do jeito que ta não copia o arquivo com formato errado, mais grava ele no banco de dados.

Tentei passar o arquivo para outro lugar mais não conseguir.

Se alguém puder ajudar agradeço.

Att
Nil LRibeiro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

19-11-2008 17:05

O ideal seria ter um if mestre, ou seja, se passar na verificação, faz todo processo, tipo:

if(... // arquivo correto

- manda o arquivo para pasta
- insert do nome do arquivo do bd

} else {

- seu arquivo não foi enviado por isso

}
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

19-11-2008 17:13

Eu fiz o if mestre, ficou como abaixo, só que assim, se da certo ele grava e copia, se da errado ele não da o erro aparece outro erro de permissão.
Erro quando o formato do arquivo é inválido:

Warning: Unable to open '' for reading: Permission denied in c:\phpdev5\www\paineladm\incluir_foto.php on line 12

Código:
<HTML> <HEAD> <TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <? $arquivo = $_FILES['arquivo']['name']; $tipoarquivo = explode(".", $arquivo); if(copy($_FILES['arquivo']['tmp_name'], "../equipe/".$arquivo)) { if($tipoarquivo[1]=="gif" || $tipoarquivo[1]=="jpg") { print "<b>$arquivo</b> foi enviado com sucesso."; include "../config.php"; $conexao = mysql_connect("$dbhost","$dbuser","$dbpass"); $funcionario = $_POST['funcionario']; $funcao = $_POST['funcao']; $arquivo = $_FILES['arquivo']['name']; $sql = "INSERT INTO equipe (funcionario,funcao,arquivo) VALUES ('$funcionario','$funcao','$arquivo')"; $db = mysql_select_db("$dbname") or die ("Banco de Dados Inesistente!"); $sql = mysql_query($sql) or die ("Ouve erro na gravação!"); {echo " <script> alert(\"Funcionário Incluido com Sucesso\"); window.location = '/PainelAdm/index.php?pg=equipe'; </script>";} } else { print "Erro: <b>".$arquivo."</b> tem um formato do arquivo diferente de jpg ou gif."; } } ?> </BODY> </HTML>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17248
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro ao upar foto

19-11-2008 17:33

Tenta invertendo esses 2 ifs

if(copy($_FILES['arquivo']['tmp_name'], "../equipe/".$arquivo)) {

if($tipoarquivo[1]=="gif" || $tipoarquivo[1]=="jpg") {

Ou seja, primeiro ele vê o formato, se for aceito, aí sim envia, porque do modo que está ele já sai fazendo o upload antes de verificar o formato.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 121

Erro ao upar foto

19-11-2008 18:07

Tentei e deu certo meio diferente, tipo inverti o if como você falou, e coloquei a resposta do if correto após a cópia, se não der certo ele pula para o final no else e volta para a página de inclusão.

Ficou zerado.
Valeu.
Nill Ribeiro
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado