PHP – Enviando Arquivos - Ajuda Inetweb - Base de Conhecimento
PHP – Enviando Arquivos
É possível enviar arquivos através de páginas de seu website hospedado na Inetweb utilizando PHP. Um exemplo de utilização deste componente seria para um sistema de Recursos Humanos, onde o usuário pode enviar currículo através de sua página.
Este primeiro formulário é composto de um HTML simples, que fará o “post” para a outra página com o código PHP de envio do formulário:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="ufile" />
<input type="submit" value="Upload" />
</form>
Abaixo segue o código da página responsável pelo envio dos arquivos. A mesma deve ser nomeada como “upload.php” para que o evento “post” do formulário HTML transcorra sem problemas:
<?php
$SafeFile = $_FILES['ufile']['name'];
$SafeFile = str_replace("#", "No.", $SafeFile);
$SafeFile = str_replace("$", "Dollar", $SafeFile);
$SafeFile = str_replace("%", "Percent", $SafeFile);
$SafeFile = str_replace("^", "", $SafeFile);
$SafeFile = str_replace("&", "and", $SafeFile);
$SafeFile = str_replace("*", "", $SafeFile);
$SafeFile = str_replace("?", "", $SafeFile);
$uploaddir = "uploads/";
$path = $uploaddir.$SafeFile;
if($ufile != none){ //AS LONG AS A FILE WAS SELECTED...
if(copy($_FILES['ufile']['tmp_name'], $path))
{
//GET FILE NAME
$theFileName = $_FILES['ufile']['name'];
//GET FILE SIZE
$theFileSize = $_FILES['ufile']['size'];
if ($theFileSize>999999){ //IF GREATER THAN 999KB, DISPLAY AS MB
$theDiv = $theFileSize / 1000000;
$theFileSize = round($theDiv, 1)." MB"; //round($WhatToRound, $DecimalPlaces)
} else { //OTHERWISE DISPLAY AS KB
$theDiv = $theFileSize / 1000;
$theFileSize = round($theDiv, 1)." KB"; //round($WhatToRound, $DecimalPlaces)
}
echo "Sucesso<br>\n";
echo "Arquivo: $theFileName <br>\n";
echo "Tamanho: $theFileSize<br>\n";
echo "Diretorio: $uploaddir<br>\n";
}
else
{
echo "erro ao fazer o upload do arquivo. Diretorio: ". $_FILES['ufile']['tmp_name'];
}
}
?>
No exemplo acima foi utilizado um diretório de teste (/uploads), substitua o diretório para o de seu domínio que irá funcionar, lembrando que o mesmo necessita de permissão de escrita.
» Caso esse item não tenha esclarecido suas dúvidas, acesse http://www.inetweb.com.br/atendimento ou envie um e-mail para suporte@inetweb.com.br.
IMPORTANTE: A Inetweb não oferece suporte referente a linguagens de programação, ficando à nossa responsabilidade somente o suporte na utilização da mesma. Para maiores informações sobre funcionalidades, recursos, sugestões e reclamações, recomendamos seja utilizada a documentação da linguagem de programação em questão.