PHP - Função move_uploaded_file ()

A função move_uploaded_file () pode mover um arquivo carregado para um novo local. Se o nome do arquivo não for um arquivo de upload válido, nenhuma ação poderá ocorrer e retornar falso. Se o nome do arquivo for um arquivo de upload válido, mas não puder ser movido por algum motivo, nenhuma ação poderá ocorrer e retornar falso. Além disso, um aviso pode ser emitido.

Sintaxe

bool move_uploaded_file ( string $filename , string $destination )

Esta função pode verificar se o arquivo designado por nomedoarquivo é um arquivo de upload válido, o que significa que foi carregado por meio do mecanismo de upload HTTP POST do PHP. Se o arquivo for válido, ele pode ser movido para o nome de arquivo fornecido pelo destino.

Esse tipo de verificação é especialmente usado se houver alguma chance de que algo feito com os arquivos carregados possa revelar seu conteúdo para o usuário, ou mesmo para outros usuários no mesmo sistema.

Exemplo

<?php
   $uploads_dir = "/PhpProject/uploads";
   foreach($_FILES["pictures"]["error"] as $key => $error) {
      if($error == UPLOAD_ERR_OK) {
         $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
         $name = basename($_FILES["pictures"]["name"][$key]);
         move_uploaded_file($tmp_name, "$uploads_dir/$name");
      }
   }
?>