Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde a todos,
Estou construindo uma aplicação em PHP que faz o UPLOAD de arquivos textos como pdf e doc (ainda não estou filtrando por mime-type).
Bom o upload esta funcionando corretamente, entretanto quando faço o download do arquivo eu não consigo ler nada do que esta no documento.
Você passaram por esse problema? poderiam me ajudar com isso? Bom vou postar aqui o meu código
if (isset($arquivo)) // Verificamos se a variável "arquivo" existe
{
//Esse é o diretório onde ficará os arquivos enviados
$diretorio="../../../arquivos/";
// Verificamos se existe algum arquivo na variável "Arquivo"
if (is_uploaded_file($arquivo))
// efetuamos o upload
{ move_uploaded_file($arquivo,$dir.$arquivo);
echo "Enviado<br>"; // Caso dê tudo certo, imprimi na tela "enviado"
}else{
echo "erro"; // Caso ocorra algum erro, imprimi na tela "erro"
}
}Amigo, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Segui as suas sugestões e aparentemente esta tudo em ordem agora. :rolleyes:
Muito obrigado pela ajuda e pela atenção!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
>
Vou explicar como funciona.
É bem simples, você só tem que mover um arquivo que foi uploadeado, e está temporariamente armazenado no servidor, para um local definitivo.
move_uploaded_file($_FILES['arquivo']['tmp_name'], "caminho_final.ext");
Informações destes arquivos ficam disponíveis no array $_FILES. Faça o seguinte teste para ver as informações:
echo '<pre>';
print_r($_FILES);
echo '</pre>';Que bom que resolveu.
E como ficou seu código agora ?
>
Que bom que resolveu.
E como ficou seu código agora ?
Bom eu dei uma modificada no código, deixei "menos feio", mas idéia principal continua a mesma. Vou postar o código completo
pode ser que ajude mais alguém. Em breve vou melhorá-lo, mas por hora esta assim:
**/ Defina aqui o tamanho máximo do arquivo em bytes: /**
// para arquivos 1mb colocar 1024000
// no caso abaixo até 5mb serão aceitos (5mb = 5120000)
if($arquivo_size > 5120000) {
print "<script> alert('Seu arquivo não poderá ser maior que 5mb'); window.history.go(-1); </SCRIPT>\n";
exit;
}
/ Defina aqui o diretório destino do upload /
if (!empty($arquivo) and is_file($arquivo)) {
$caminho="../../../arquivos/";
$caminho=$caminho.$arquivo_name;
/ Defina aqui o tipo de arquivo suportado /
if ((eregi(".xls$", $arquivo_name)) || (eregi(".doc$", $arquivo_name)) || (eregi(".pdf$", $arquivo_name)) || (eregi(".ppt$", $arquivo_name)) || (eregi(".pdf$", $arquivo_name)) || (eregi(".docx$", $arquivo_name)) || (eregi(".xlsx$", $arquivo_name)) || (eregi(".pptx$", $arquivo_name))){
move_uploaded_file($arquivo,$caminho);
print "<p align='center'>Arquivo enviado com sucesso!</p>";
print "<p align='center'><a href=\"java script:history.go(-1)\">Fazer upload de outro arquivo</a></p>";
//inserindo no banco de dados
$sql = "INSERT INTO arquivo (
arquivo,
descricao,
data,
usuario)
VALUES (
'$caminho',
'$descricao',
'$data',
'$login'
)";
$var = mysql_query($sql); //die($sql);
}
else{
print "<p align='center'>O arquivo não pode ser enviado!</p>";
print "<p align='center' style><font color='#FF0000'>Arquivo em formato inválido (formatos aceitos: doc, xls, pdf e ppt)</font></p>";
print "<p align='center'><a href=\"java script:history.go(-1)\">Fazer upload de outro arquivo</a></p>";
}
}
Vou explicar como funciona.
É bem simples, você só tem que mover um arquivo que foi uploadeado, e está temporariamente armazenado no servidor, para um local definitivo.