Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ffjj

[Resolvido] $_FILES não retorna nada

Recommended Posts

Olá,

 

não consigo pegar o arquivo enviado pelo usuário através do $_FILES. Só funciona quando acesso do servidor, quando acesso de outra máquina o $_FILES não retorna nada.

 

HTML:

<html>
<head></head>
<body>
  <form action="import.php" method="POST" enctype="multipart/form-data">
     <input type="file" name="arquivo" size="45">
     <input type="submit" value="Enviar">
  </form>
</body>
</html>

 

PHP:

<?
    $nome_arquivo = $_FILES['arquivo']['tmp_name'];
?>

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, por questões de compatibilidade sempre use <?php em vez de apenas <?, pois se as short_tags estiverem desabilitadas no servidor o script não irá funcionar.

 

Sugiro que você faça um debug no seu script para ver se está ocorrendo algum erro:

 

<?php
echo '<pre>', PHP_EOL;
print_r($_FILES);
echo '</pre>';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não deu erro. Apareceu isso:

 

Array

(

[arquivo] => Array

(

[name] => pasta crm3.xls

[type] => application/vnd.ms-excel

[tmp_name] => C:\WINDOWS\Temp\php1C.tmp

[error] => 0

=> 184832

)

 

)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para copiar para o servidor basta usar a função move_uploaded_file, ficaria assim:

 

<?php
if ( is_uploaded_file( $_FILES['arquivo']['tmp_name'] ) )
{
$destino = dirname(__FILE__) . '/' . $_FILES['arquivo']['name'];
move_uploaded_file( $_FILES['arquivo']['tmp_name'], $destino );
echo '<p>Arquivo enviado com sucesso.</p>';
}
else
{
echo '<p>Nenhum arquivo enviado.</p>';
}
?>

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.