Como fazer upload em servidor?

1. Como fazer upload em servidor?

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 26/05/2017 - 11:39h

Olá, amigos!

Estou querendo criar um servidor que armazena arquivos enviados pelos usuários.

Os arquivos são armazenados num diretório chamado "upload" na raiz do servidor.

Estou usando Deepin (Debian) e já tenho Apache2 e CGI ativado.

Eu segui este tutorial:
http://thobias.org/doc/cgi_shell.html#toc8

Até aí tudo OK!

Funciona!

Os arquivos são enviados com sucesso!

Mas tem um defeito. Só envia corretamente arquivos de texto. Se eu enviar, usando esse método, um PDF ou uma imagem, o arquivo até aparece lá no servidor, só que não abre.

Se alguém souber como ajudar, ficarei grato!


  


2. Re: Como fazer upload em servidor?

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 26/05/2017 - 12:00h

Tem que ser internet?
Se sim: Por que não usa servidor ftp?
Se não: porque não usa NFS ou SAMBA?


3. Re: Como fazer upload em servidor?

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 26/05/2017 - 12:15h

Lisandro escreveu:

Tem que ser internet?
Se sim: Por que não usa servidor ftp?
Se não: porque não usa NFS ou SAMBA?


Fiquei tão focado no problema do envio que esqueci de dizer que o objetivo não é o armazenamento, e sim modificar o arquivo e devolver ao usuário a versão modificada.

Depois de receber o arquivo PDF enviado pelo usuário, o servidor faz a conversão para PDF-A (com o comando "pdf2pdfa arquivo.pdf saida.pdf") e o usuário faz download dessa versão modificada.

A conversão é simples, mas não estou conseguindo trabalhar com os arquivos recebidos. Aquele tutorial usa CGI e funciona pela metade. Quando o arquivo é PDF ele armazena corrompido.







4. Re: Como fazer upload em servidor?

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 26/05/2017 - 16:09h

Progresso!

Um colega de trabalho me ajudou. O nome dele é Otávio.

Ele fez o seguinte HTML (teste.html):

<!DOCTYPE html>
<html>
<head>
<title>teste</title>
</head>
<body>

<form enctype="multipart/form-data" method="post" action="converte.php">
Selecione um arquivo: <br/>
<input type="file" name="Arquivo" id="Arquivo" ><br/>
<input type="submit" value="enviar">
</form>
</body>
</html>


E fez o seguinte código em PHP (converte.php):

<!DOCTYPE html>
<html>
<head>
<title>Enviado</title>
</head>
<body>
<?php

$nome_temporario=$_FILES["Arquivo"]["tmp_name"];
$nome_real=$_FILES["Arquivo"]["name"];
copy($nome_temporario,$nome_real);


if (true) {
echo "Arquivo salvo com Sucesso!";
}
else{echo "Wrong";}
?>

</body>
</html>


A assim consegui armazenar arquivos enviados pelo usuário. Agora o problema é como executar o comando de conversão no código do PHP!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts