Jump to content


Photo

Pegar Nome Do Arquivo


  • Faça o login para participar
4 replies to this topic

#1 danilo4139

danilo4139

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 19/12/2007, 18:47

Olá pessoal, segui um totorial de multiplos uploads.

Mas quando efetua o upload e manda a pasta, queria inserir o nome do arquivo criptografado (o sistema já criptografa), no BD.

Veja meu código:

<?class upload {var $nome_f;var $nome_t;var $size_f;var $size_m = 1024000; //10 MBvar $pasta = "./upload/";var $tipo;var $ext = array("jpg", "jpeg", "gif", "bmp", "png", "zip", "rar", "txt", "php", "pdf");var $campos;function salvar() {$this->campos = intval($_POST['campos']);for($i = 0; $i < $this->campos; $i++) {$this->nome_f = $_FILES['file']['name'][$i];$this->size_f = $_FILES['file']['size'][$i];$inf = pathinfo($this->nome_f);$this->tipo = $inf['extension'];if(in_array($this->tipo, $this->ext)) {if(is_dir($this->pasta)) {if($this->size_f <= $this->size_m) {move_uploaded_file($this->nome_t, $this->pasta . $this->nome_f);$this->mudar_nome($this->nome_f, $this->tipo);$this->alerta('Upload feito com sucesso!');//$this->url('upload.php');}else{$this->alerta('Tamanho excedido!\nMáximo permitido é: ' . ceil($this->size_m / 5024 / 5024) . '!');//$this->url('upload.php');}}else{$this->alerta('Pasta ' . $this->pasta . ' não existe!');//$this->url('upload.php');}}else{$this->alerta('Arquivo ' . $this->nome_f . ' não permitido!');//$this->url('upload.php');}}}function mudar_nome($nome, $tipo) {rename($this->pasta . $nome, $this->pasta . md5(microtime(time())) . '.' . $tipo);}function alerta($msg) {echo "<script> alert('".$msg."'); </script><script> window.location='pagina.php'; </script>";}function url($url) {echo "<script> window.location='pagina.php'; </script>";}}if(@$_POST['submit']) {$u = new upload();$u->salvar();}?><form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data"><?$campos = "$numero";for($i = 0; $i < $campos; $i++) {?>Arquivo: <input type="file" name="file[]"><br><?}?><input type="hidden" name="campos" value="<?php echo $campos; ?>" /><br><input name="submit" type="submit" class="botoes" value=" OK "></form>

após tudo isso, o de inserir no BD:

<?php
//inserindo no bd
$sql = "UPDATE tabela SET img_id='$id', img_name='[u][b]$nome_arquivo_criptografado[/b][/u]' WHERE id='$id'";
mysql_query($sql) or die (mysql_error());
// fim de inserção
?>
Muito obrigado, e aguardo! :lol:

Edição feita por: savior, 19/12/2007, 19:37.
O bonzão ... utilize tags [codebox] para trechos longos de código.

Procurando fazer fama? Anuncie no maior e melhor catálogo de links: http://www.dicasweb.com

Procurando notícias de tecnologia? Visite o blog Guia Webmaster! http://www.guiawm.com

;)

#2 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 20/12/2007, 07:48

E $nome_arquivo_criptografado tem que valor armazenado.

Se a chamada do arquivo da classe está certo, a instância está certa e os métodos funcionais, basta no UPDATE passar o comando do nome do arquivo que está sendo enviado OU passar esse valor na variável que eu destaquei para usá-la como você fez no segundo bloco de código.

Posso estar enganado prque acabei de acordar e tal, mas dever ser $this -> nome_f

#3 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 20/12/2007, 22:24

Conheço essa classe :D
Eu que fiz :P

Para exibir, use igual o Bruno falou.
$this->nome_f.

É só olhar as variáveis declaradas na classe.
Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#4 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 21/12/2007, 07:48

Uso gratuito de classes terceirizadas devem manter os créditos do autor original, no caso o _Dudu_1533

#5 danilo4139

danilo4139

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 23/12/2007, 15:01

valeu galera..

mas nao deu certo, veja a variavel:

$img_name = $this->nome_f;

Procurando fazer fama? Anuncie no maior e melhor catálogo de links: http://www.dicasweb.com

Procurando notícias de tecnologia? Visite o blog Guia Webmaster! http://www.guiawm.com

;)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq