Função move_uploaded_file

A função move_uploaded_file move um arquivo carregado do diretório temporário para o local especificado. O primeiro parâmetro da função recebe o nome temporário do arquivo, e o segundo - o caminho para salvar o arquivo.

Sintaxe

phpmove_uploaded_file(string $from, string $to): bool

Exemplo

Movendo um arquivo carregado para a pasta uploads:

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if (move_uploaded_file($temp, 'uploads/' . $name)) {
    echo 'arquivo carregado com sucesso';
  } else {
    echo 'carregamento falhou';
  }
?>

Exemplo

Verificando se o arquivo foi carregado com sucesso antes de movê-lo:

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $res = move_uploaded_file($temp, 'files/' . uniqid() . '_' . $name);
    echo $res ? 'Sucesso' : 'Erro';
  } else {
    echo 'Erro no carregamento: ' . $_FILES['file']['error'];
  }
?>

Exemplo

Criando um nome de arquivo único ao movê-lo:

php<?php
  $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
  $newName = 'arquivousuario_' . time() . '.' . $ext;
  $res = move_uploaded_file($_FILES['file']['tmp_name'], 'storage/' . $newName);
  var_dump($res);
?>

Veja também

  • a função copy,
    que copia um arquivo
  • a função rename,
    que renomeia um arquivo
  • a função is_uploaded_file,
    que verifica um arquivo carregado