Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando fazer o upload de um arquivo mas na página de destino, coloquei o phpinfo() que diz que - _FILES ta com error 0 e size 0. O que pode ser?
Boa Tarde,
Tenta utilizar assim:
<?php
/* UPLOAD CONFIG */
$VAR_PATH_UPLOAD = "../documentos"; //ex: "d:/www/pasta/"
$VAR_LIMITAR_EXTENCOES = "sim"; //limitar extenções sim ou não
$VAR_EXTENCOES_VALIDAS = array(".jpg",".JPG",".png",".pdf",".PDF",".doc",".DOC",".DOCX",".docx");
//extenções validas
$VAR_LIMITAR_TAMANHO = "nao"; //limitar tamanho sim ou não
$VAR_TAMANHO_BYTES = "500000"; //tamanho total em bytes
$VAR_SOBREESCREVER = "sim"; //sobreecrever sim ou não
set_time_limit (0);
$VAR_ARQUIVO = $_FILES['arquivo']['name'];
$VAR_TAMANHO = $_FILES['arquivo']['size'];
$VAR_TEMPORARIO = $_FILES['arquivo']['tmp_name'];
$nome_arquivo = md5($VAR_ARQUIVO);
if (!empty($VAR_ARQUIVO))
{//Inicio do IF
/* [Encontra a extenção do arquivo enviado pelo usuario] */
$VAR_EXT = strrchr($VAR_ARQUIVO,'.');
$NEW_FILE_NAME = $nome_arquivo.$VAR_EXT;
$anexo_biopsia = $NEW_FILE_NAME;
$VAR_CAMINHO_ARQUIVO_N = $VAR_PATH_UPLOAD.strtolower($NEW_FILE_NAME);
/* [Verifica o tamanho do Arquivo e se o sitema tem um limite de tamanho] */
if (($VAR_LIMITAR_TAMANHO == "sim") && ($VAR_TAMANHO >
$VAR_TAMANHO_BYTES))
die("Arquivo deve ter no máximo $VAR_TAMANHO_BYTES bytes.");
/* [Verifica se a extenção do arquivo é uma extenção valida pelo
sistema] */
if ($VAR_LIMITAR_EXTENCOES == "sim" &&
!in_array($VAR_EXT,$VAR_EXTENCOES_VALIDAS))
header("LOCATION: [http://www.seusite.com.br/erro.php](http://www.seusite.com.br/erro.php)");
/* [Verifica se o Arquivo já Existe e se deseja sobrescreve-lo] */
if ($VAR_SOBREESCREVER == "nao" &&
file_exists("$VAR_CAMINHO_ARQUIVO_N"))
die("Arquivo já existe.");
if(move_uploaded_file($_FILES['laudo_biopsia']['tmp_name'],"$VAR_CAMINHO_ARQUIVO_N")){
echo ('');
}
else
{
header("LOCATION: [http://www.seusite.com.br/erro.php](http://www.seusite.com.br/erro.php)");
}
}//fim IF
?>tem sim
está recuperando o arquivo com o tipo
DIca:
<form enctype="multipart/form-data" action="_URL_" method="post"><input type="hidden" name="MAX_FILE_SIZE" value="30000" />Send this file: <input name="userfile" type="file" /><input type="submit" value="Send File" /></form>
<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
// ao invés de $_FILES.
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:\n";
print_r($_FILES);
} else {
print "Possivel ataque de upload! Aqui esta alguma informação:\n";
print_r($_FILES);
}
print "</pre>";
?>
Verifica se deu certo...
fonte: http://php.net/manual/pt_BR/features.file-upload.post-method.php
Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.
Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.
Att: João Paulo Sousa Supriano
O formulario tem Encytpe Multipart/form-data ???