Guest Diogo reitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Boa tarde,Eu gostaria de saber como faço para criar um campo de upload em dreamweaver, ou seja, como faço para permitir que alguém faça upload de algum ficheiro no meu website.Existe algum script para isso?Obrigado.Estou mesmo precisado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cassianooliver Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 da uma pesquisada aqui mesmo no fórum por "upload"... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Um simples script de upload:<?php if ($_POST["upload"]){ if(isset($_FILES["Imagem"])){ $Imagem = $_FILES["Imagem"]; $Tamanhos = getimagesize($Imagem["tmp_name"]); $TipoArquivo = $_FILES['Imagem']['type']; $Data = date("dmY-His"); $Nome_Imagem = $Imagem["name"]; $extensao = explode(".", $Nome_Imagem); $Extensao = $extensao[1]; $Pasta = "arquivos/"; $Novo_Nome = $Pasta . $Data . "." . $Extensao; $Caminho = $Pasta . $Novo_Nome; move_uploaded_file($Imagem["tmp_name"], $Novo_Nome); } } ?> <form name="Upload" action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="Imagem" /><input type="submit" value="Enviar" /> <input type="hidden" name="upload" value="1" /> </form>Aqui ele altera o nome do arquivo para data e hora, um exemplo: 07022008-110857.jpg, para que não tenha o problema de já ter um arquivo com o mesmo nome no servidor.Não sei se o dreamweaver já tem isso pronto, acredito que não, mas basicamente:O formulário precisa ter esse enctype, o multipart/form-data, para saber que existem outros tipos de dados nele.O tipo de campo que você utiliza no formulário é o file, pois este te deixará clicar no botão e procurar os arquivos no seu HD.A superglobal que você utiliza no PHP é a $_FILES, onde ficam os arquivos que você fez upload.E, por fim, pra salvar o arquivo em um diretório específico você utiliza o move_uploaded_file(). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Um simples script de upload:<?php if ($_POST["upload"]){ if(isset($_FILES["Imagem"])){ $Imagem = $_FILES["Imagem"]; $Tamanhos = getimagesize($Imagem["tmp_name"]); $TipoArquivo = $_FILES['Imagem']['type']; $Data = date("dmY-His"); $Nome_Imagem = $Imagem["name"]; $extensao = explode(".", $Nome_Imagem); $Extensao = $extensao[1]; $Pasta = "arquivos/"; $Novo_Nome = $Pasta . $Data . "." . $Extensao; $Caminho = $Pasta . $Novo_Nome; move_uploaded_file($Imagem["tmp_name"], $Novo_Nome); } } ?> <form name="Upload" action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="Imagem" /><input type="submit" value="Enviar" /> <input type="hidden" name="upload" value="1" /> </form>Aqui ele altera o nome do arquivo para data e hora, um exemplo: 07022008-110857.jpg, para que não tenha o problema de já ter um arquivo com o mesmo nome no servidor.Não sei se o dreamweaver já tem isso pronto, acredito que não, mas basicamente:O formulário precisa ter esse enctype, o multipart/form-data, para saber que existem outros tipos de dados nele.O tipo de campo que você utiliza no formulário é o file, pois este te deixará clicar no botão e procurar os arquivos no seu HD.A superglobal que você utiliza no PHP é a $_FILES, onde ficam os arquivos que você fez upload.E, por fim, pra salvar o arquivo em um diretório específico você utiliza o move_uploaded_file().muito obrigado. Já agora. Este código só dá para upload de imagens? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Não, este código faz upload de qualquer tipo de arquivo.Para aceitar somente upload de imagens você terá que conferir o mime-type do arquivo e não permitir que arquivos que não sejam de imagens sejam salvos.Neste próprio código é fácil adaptar isso, ficando assim:<?php if ($_POST["upload"]){ if(isset($_FILES["Imagem"])){ $Imagem = $_FILES["Imagem"]; $Tamanhos = getimagesize($Imagem["tmp_name"]); $TipoArquivo = $_FILES['Imagem']['type']; if(!eregi("^(image)\/(pjpeg|jpeg|jpg|gif|png)$", $TipoArquivo)){ print("<p align=\"center\">Tipo de arquivo desconhecido!</p>"); } else { $Data = date("dmY-His"); $Nome_Imagem = $Imagem["name"]; $extensao = explode(".", $Nome_Imagem); $Extensao = $extensao[1]; $Pasta = "arquivos/"; $Novo_Nome = $Pasta . $Data . "." . $Extensao; $Caminho = $Pasta . $Novo_Nome; move_uploaded_file($Imagem["tmp_name"], $Novo_Nome); } } } ?> <form name="Upload" action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="Imagem" /><input type="submit" value="Enviar" /> <input type="hidden" name="upload" value="1" /> </form> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 A minha pergunta é: para onde vão os ficheiros que se faz upload? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 No caso deste script, os arquivos vão para a pasta "arquivos".Essa pasta já deve existir no sistema.Você pode mudar a pasta em que os arquivos serão salvos editando a linha:$Pasta = "arquivos/"; Pode também fazer o script criar essa pasta, se ela não existir, colocando logo abaixo dessa linha, as seguintes: if(!file_exists($Pasta)){ mkdir($Pasta); } Complementando o código, do jeito que você disse na MP: <?php if ($_POST["upload"]){ if(isset($_FILES["Imagem"])){ $Imagem = $_FILES["Imagem"]; $Tamanhos = getimagesize($Imagem["tmp_name"]); $TipoArquivo = $_FILES['Imagem']['type']; if(!eregi("^(image)\/(pjpeg|jpeg|jpg|gif|png)$", $TipoArquivo)){ print("<p align=\"center\">Tipo de arquivo desconhecido!</p>"); } else { $Data = date("dmY-His"); $Nome_Imagem = $Imagem["name"]; $extensao = explode(".", $Nome_Imagem); $Extensao = $extensao[1]; $Pasta = "imagens/"; if(!file_exists($Pasta)){ mkdir($Pasta); } $Novo_Nome = $Pasta . $Data . "." . $Extensao; $Caminho = $Pasta . $Novo_Nome; move_uploaded_file($Imagem["tmp_name"], $Novo_Nome); Print("Imagem exibita com êxito!"); } } } ?> <form name="Upload" action="<?php $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="Imagem" /><input type="submit" value="Enviar" /> <input type="hidden" name="upload" value="1" /> </form> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Descule mas realmente não está a ser facil.Se eu utilizo o ftp para enviar o site para o ar, depois de fazer o upload de algo o arquivo não deveria estar na pasta que eu expecifiquei? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Se você colocar o site no ar, o script considerará o diretório onde o site está como raíz.Depois da raíz, ele sobe mais um nível que é a pasta que você vai especificar.Então se você coloca o site na pasta site, a pasta imagens estará em site/imagens .A pasta é definida no próprio script, ali na variável $Pasta . Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Peço desculpa mas realmente não estou conseguindo.Vou dizer exactamente o que fiz.Criei uma página php em dreamweaver com o código que me deu e guardei como index.Depois fiz upload do php indez pelo ftp (estou a utilizar um subdominio dentro de outro site que tenho como teste). AS pastas são: - public_html/urlsubdominio (coloquei aqui o index)Depois criei uma pasta com o nome upload (já tinha alterado o novo da pasta de destino dos uploads) em "public_html/urldosubdominio"Não entendo o que está mal. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 O que acontece?Ele não faz o upload? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Já está a fazer.Ele vai atribuir nomes diferentes aos ficheiros correcto?Você é as nisto.estou falando sério.É possivel receber um mail quando alguém fizer upload?É posíevel colocar um limite máximo para o tamanho do ficheiro?Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Sim, tudo isso é possível!Para a pessoa receber um e-mail quando enviar um arquivo (ficheiro) você precisará colocar a função mail() no script, logo após o move_uploaded_file.Lembrando que você precisará de mais um campo no formulário, para pegar o e-mail da pessoa.Um limite máximo no tamanho do arquivo também é possível sim, você lê o tamanho do arquivo utilizando o $_FILES['Imagem']['size'], aí é só utilizar o if / else para criar a condição do script.Só lembrando que o tamanho é em bytes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Freitas Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 Bem Leandro, você tem sido uma grande ajuda.Já consegui pôr a enviar-me um mail quando alguém fizer upload, mas não consegui colocar como obrigatório o preenchimento do email da pessoa.Já agora, e desculpa se te estou massando, mas sabe dar-me umas dicas acerca de bases de dados?Eu pergunto isto porque quase todos os scripts em php que saquei deste site (para chat, data e hora, etc) pedem bases de dados sql mas na verdade eu não faço a minima ideia do que se trata.muito obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Fevereiro 7, 2008 Denunciar Share Postado Fevereiro 7, 2008 O MySQL é uma base de dados em forma de SQL, para você acessá-la você utiliza um front-end que acessará o servidor de base de dados.O mais comum é o phpMyAdmin, que inclusive já está instalado aí se você utilizar algum pacote WAMP.Você pode fazer esse teste acessando http://localhost/phpmyadmin .O frontend é até fácil mexer, e bem intuitivo, você acabará entendendo como ele funciona!Mas o que eu realmente recomendo é que você dê uma olhada no manual do MySQL, assim você fica fera!http://www.criarweb.com/manuais/mysql/Você pode tornar obrigatório colocando outro if no script, vamos supor, se o campo chamar email:if (!isset($_POST["email"])){ print("O campo e-mail deve ser preenchido"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Diogo Freitas Postado Fevereiro 9, 2008 Denunciar Share Postado Fevereiro 9, 2008 Olá outra vez.Obrigado pelas informações.Eu estive a ler os links que me deu e pelo que eu entendi terei de fazer download do phpMyAdmin e do MySql. Depois, instalo o php e remeto para o pc que tem a base de dados em Sql.Como faço para criar a base de dados?Imaginemos que a base de dados pretende fornecer informação para um sistema de login, ela actualiza-se automáticamente?Eu necessitava de umas ideias gerais, porque na verdade não entendo alguma da informação dos links que me passou.muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Igepi Postado Dezembro 6, 2009 Denunciar Share Postado Dezembro 6, 2009 Leandro, esse código pra mim foi execente, mas teria como postar o arquivo com o nome original deste e não renomea-lo?Obrigado desde já. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Igepi Postado Dezembro 6, 2009 Denunciar Share Postado Dezembro 6, 2009 Me desculpe, seria possivel usar esse codigo para fazer o upload de arquivos e imagens do jeito que esta mas ele mantendo o nome original do arquivo, não renomea-lo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Juan De Sousa Postado Janeiro 18, 2012 Denunciar Share Postado Janeiro 18, 2012 iae pessoal eu to com um probleminha ainda nessa caixa de upload no meu caso ele só ta granvando o nome tanto no banco de dados quanto no dynamico do Dreamweaver e quando eu vou ver a pasta que coloquei para o arquivo ele esta vazia.alguém ai pode me ajudar?grato desde já. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 SorayaDamasco Postado Outubro 12, 2012 Denunciar Share Postado Outubro 12, 2012 Olá!Sou nova aqui e estou com essa mesma dúvida! O problema é que não saco muito e estou fazendo um form no dreamweaver que deverá conter o filefield mandando para meu email os dados do cliente, além da imagem... Estou inserindo o script abaixo, mas só recebo os dados e nada da imagem, alguém pode me ajudar, por favor?! :rolleyes:Esqueci de colocar meu script:<?phpif ($_POST["upload"]){ if(isset($_FILES["Imagem"])){ $Imagem = $_FILES["Imagem"]; $Tamanhos = getimagesize($Imagem["tmp_name"]); $TipoArquivo = $_FILES['Imagem']['type']; if(!eregi("^(image)\/(pjpeg|jpeg|jpg|gif|png)$", $TipoArquivo)){ print("<p align=\"center\">Tipo de arquivo desconhecido!</p>"); } else { $Data = date("dmY-His"); $Nome_Imagem = $Imagem["name"]; $extensao = explode(".", $Nome_Imagem); $Extensao = $extensao[1]; $Pasta = "imagens/"; if(!file_exists($Pasta)){ mkdir($Pasta); } $Novo_Nome = $Pasta . $Data . "." . $Extensao; $Caminho = $Pasta . $Novo_Nome; move_uploaded_file($Imagem["tmp_name"], $Novo_Nome); Print("Imagem exibita com êxito!"); } } }?><form name=Upload" action="<?php $_SERVER['PHP_SELF]; ?>" method="post" enctype="multipart/form-data"><input type="file" name="Imagem" /><input type="submit" value="Enviar" /><input type="hidden" name="upload" value="1" /></form><?PHP/* E-mail que receberá os dados do formulário */$email_destino="meuemail@gmail.com";/*****************************************************************Algumas informações que constarão no cabeçalho do e-mail******************************************************************/$cabecalho = "From: \"Orcamento do Site\" \n"; /* Exibe de onde partiu este formulário. */$cabecalho .= "Reply-To: ".$_POST['nome']."<".$_POST['email'].">\n";$cabecalho .= "X-Mailer: PHP v".phpversion()."\n"; /* Versão do X-Mailer responsável pelo envio */$cabecalho .= "Content-type: text/html; charset=iso-8859-1"."\r\n"; /* Responsável pela tranformação do texto em formato HTML */$cabecalho .= "MIME-Version: 1.0"."\r\n";/*****************************************************************Conteúdo do e-mail extraído do formulário******************************************************************/$conteudo = "Mensagem enviada por:".$_POST['nome']. "\n";$conteudo .= "Empresa:".$_POST['empresa']. "\n";$conteudo .= "Email:".$_POST['email']. "\n";$conteudo .= "Telefone:".$_POST['telefone']. "\n";$conteudo .= "Cadeira:".$_POST['marca']. "\n";$conteudo .= "Modelo:".$_POST['modelo']. "\n";$conteudo .= "Revestimento cadeira:".$_POST['revestimento']. "\n";$conteudo .= "Espaldar:".$_POST['espaldar']. "\n";$conteudo .= "Painel:".$_POST['medida']. "\n";$conteudo .= "Tipo de Revestimento:".$_POST['revestimento2']. "\n";$conteudo .= "Mensagem:".$_POST['mensagem']."\n";$conteudo .= "Imagem:".$_POST['upload']."\n";$conteudo .= "IP:".$_SERVER['REMOTE_ADDR']. "\n";/*****************************************************************Mensagens de erro e confirmação de envio******************************************************************/if (mail($email_destino,$_POST['assunto'],$conteudo,$cabecalho)) {echo "Sua mensagem foi enviada com sucesso!";}else {echo "Ops! Aconteceu um erro de envio. Por favor, tente novamente ou entre em contato com o administrador do site.";}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Outubro 15, 2012 Denunciar Share Postado Outubro 15, 2012 Veja se o diretório de imagens existe e se tem permissão para gravação.Na dúvida, utilize 777. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Meck Campos Postado Novembro 19, 2019 Denunciar Share Postado Novembro 19, 2019 Como faz para salvar o nome no mysql após upload? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Diogo reitas
Boa tarde,
Eu gostaria de saber como faço para criar um campo de upload em dreamweaver, ou seja, como faço para permitir que alguém faça upload de algum ficheiro no meu website.
Existe algum script para isso?
Obrigado.
Estou mesmo precisado
Link para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.