(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
move_uploaded_file — Move um arquivo enviado para uma nova localização
Esta função faz uma verificação para garantir que o arquivo designado por from
é um arquivo de envio válido (que tenha sido enviado pelo mecanismo de envio POST HTTP do PHP). Se o arquivo for válido, ele será movido para o nome de arquivo dado por to
.
Este tipo de verificação é especialmente imporante se existir alguma chance de que qualquer coisa feita com os arquivos enviados possa revelar seus conteúdos ao usuário, ou mesmo para outros usuários no mesmo sistema.
from
O nome do arquivo enviado.
to
O destino do arquivo movido.
Retorna true
em caso de sucesso.
Se from
não for um arquivo enviado válido, nenhuma ação ocorrerá e move_uploaded_file() retornará false
.
Se from
for um arquivo enviado válido, mas não puder ser movido por alguma razão, nenhuma ação ocorrerá e move_uploaded_file() retornará false
. Adicionalmente, um alerta será emitido.
Exemplo #1 Enviando múltiplos arquivos
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
// basename() pode evitar ataques no sistema de arquivos;
Nota:
move_uploaded_file() é afetada por open_basedir. Entretanto, restrições são aplicadas apenas no caminho de
to
para permitir a movimentação de arquivos enviados nos quaisfrom
possa conflitar com tais restrições. move_uploaded_file() assegura a segurança desta operação permitindo que apenas arquivos enviados através do PHP possam ser movidos.
Se o arquivo de destino já existir, ele será sobrescrito.