Avatar ·

Como criar uma pasta em PHP se ela ainda não existe?

Olá a todos! Sou um desenvolvedor PHP iniciante e estou escrevendo um site em WordPress. Tive um problema: quero salvar imagens enviadas por usuários em uma pasta separada para cada usuário. Por exemplo, tenho o ID do usuário e quero criar uma pasta como `/uploads/user_123/`. Escrevi este código: ```php $user_id = 123; $upload_dir = wp_upload_dir(); $user_folder = $upload_dir['basedir'] . '/user_' . $user_id . '/'; if (!file_exists($user_folder)) { mkdir($user_folder); } // Depois copio o arquivo... move_uploaded_file($temp_file, $user_folder . '/avatar.jpg'); ``` Mas o problema é que, se a pasta já existe, `mkdir()` emite um aviso "Warning: mkdir(): File exists". Entendo que isso pode ser suprimido com `@`, mas ouvi dizer que é uma má prática. Como criar uma pasta em PHP corretamente se ela ainda não existe, sem erros e avisos? Existe uma maneira mais confiável do que minha solução caseira com `file_exists()`? E como lidar se for necessário criar subpastas aninhadas?