Criar pasta, se não existir: a maneira correta em PHP
Olá a todos! Sou novo em PHP e estou tentando fazer um CMS simples no WordPress. Preciso que, ao fazer upload de imagens para o servidor, seja criado um diretório por data, por exemplo /uploads/2024/03/. Mas estou recebendo constantemente o erro "failed to open stream: No such file or directory" se as pastas ainda não existirem.
Aqui está meu código atual:
$path = '/var/www/html/uploads/' . date('Y/m');
$file = $path . '/image.jpg';
// Tentando salvar o arquivo
file_put_contents($file, $data);
Já tentei usar mkdir($path) antes da escrita, mas ainda assim a pasta não é criada. Pesquisei no Google — dizem que é preciso verificar a existência. Adicionei a verificação:
if (!file_exists($path)) {
mkdir($path);
}
Mas agora o erro é "mkdir(): No such file or directory"! O que estou fazendo de errado? Por que o mkdir não consegue criar a pasta se ela não existe? Será que preciso definir permissões? Ou estou especificando o caminho incorretamente? Digam-me como criar corretamente uma pasta aninhada.
No answers yet.
Faça login para deixar uma resposta