Página 1 de 1

Script Uploader simples e rápido.

Enviado: 28 Jun 2013 02:58
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];

Script Uploader simples e rápido.

Enviado: 28 Jun 2013 12:35
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,

Script Uploader simples e rápido.

Enviado: 28 Jun 2013 14:22
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)