Script Uploader simples e rápido.

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Script Uploader simples e rápido.

Mensagem por rochinha »

Amiguinhos,

O código a seguir é muito util para se enviar arquivos para um site sem as frescurar de login, senha e etc.

Bastará é claro ter uma cópia dele em cada pasta e subpasta de seu website e o mesmo ter suporte a .PHP

Código: Selecionar todos

<html>
<body>
<form method="post" enctype="multipart/form-data" action=""<?php echo $_SERVER['PHP_SELF'];?>"">
<input name="imagem" type="file" id="imagem" value="<?php echo $imagem;?>">
<input type="submit" name="Submit" value="Enviar">
</form>
<?php
if(isset($_POST['submit'])){
$imagem = $_POST['imagem'];
echo $imagem;
}else
{
$arquivo = isset($_FILES["imagem"]) ? $_FILES["imagem"] : FALSE;
// Obtém extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg|exe|txt|html|html|asp|php|txt|doc|docx|ppt|pptx|odf|asp|lnk|dll|js){1}$/i", $arquivo["name"], $ext);

// Um nome único para a imagem
// Se duas imagens tiverem o mesmo nome é porque o inferno está congelado
//$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
$imagem_nome = $arquivo["name"]; // . "." . $ext[1];

// Pasta de uploads
$imagem_dir = "./" . $imagem_nome;

// Faz o upload da imagem
move_uploaded_file ($arquivo['tmp_name'], $imagem_dir);
}

?>
</body>
</html>
Caso não queiram salvar o arquivo com um nome aleatório ou temporário basta fazer assim:

Código: Selecionar todos

$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
//$imagem_nome = $arquivo["name"]; // . "." . $ext[1];
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Script Uploader simples e rápido.

Mensagem por Toledo »

Olá Rochinha, pelo que notei será aberto um tela com um botão para selecionar o arquivo, então este código será usado via navegador (IE,Firefox,Opera,etc) ou tem alguma maneira de usar com o Clipper ou Harbour?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Script Uploader simples e rápido.

Mensagem por rochinha »

Amiguinho,

Estou estudando uma maneira de melhorar o uso dele em minha aplicação e até onde idealizei o uso, vou usar aquelas técnicas já abordadas aqui de POST e GET já que com elas poderemos implementar internamente no aplicativo o método de passagem de parametros.

No Harbour usariamos os velhos métodos COM, Microsoft.XMLHTTP, etc.

No Clipper poderiamos usar WAPI ou algum aplicativo que faça POST e GET por linha de comando.

O interessante é que mesmo com uma internet ruim o upload acontece sem erros.

Por enquanto o que podemos fazer é mascarar o acesso ao código usando o navegador em uma popup.

Exemplo:

Código: Selecionar todos

<html>
   <head>
      <title>5Volution Suporte</title>
      <HTA:APPLICATION ID="oHTA" BORDER="dialog" CAPTION="yes" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="no" NAVIGABLE="no" CONTEXTMENU="no" INNERBORDER="no" SCROLL="no"/>
      <script language="javascript">window.resizeTo(240,340); window.moveTo((window.screen.availWidth-240)/2, (window.screen.availHeight-340)/2);</script>
   </head>
   <frameset rows="*">
      <frame scrolling="yes" src="http://www.amazon.com/gp/aw/h.html"><!-- http://www.vivo.com.br/mobile" -->
   </frameset>
</html>
Moldando este .HTA podemos fazê-lo parecer uma tela de nossas aplicações(pelo menos não-DOS)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder