Comment créer un dossier en PHP s'il n'existe pas encore ?
Bonjour à tous ! Je suis un développeur PHP débutant et je crée un site sur WordPress. J'ai un problème : je veux sauvegarder les images téléchargées par les utilisateurs dans un dossier séparé pour chaque utilisateur. Par exemple, j'ai un ID utilisateur et je veux créer un dossier comme `/uploads/user_123/`.
J'ai écrit ce code :
```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);
}
// Ensuite je copie le fichier...
move_uploaded_file($temp_file, $user_folder . '/avatar.jpg');
```
Mais le problème est que si le dossier existe déjà, `mkdir()` émet un avertissement "Warning: mkdir(): File exists". Je comprends qu'on peut le supprimer avec `@`, mais j'ai entendu dire que c'est une mauvaise pratique.
Comment créer correctement un dossier en PHP s'il n'existe pas encore, sans erreurs ni avertissements ? Existe-t-il une méthode plus fiable que ma solution artisanale avec `file_exists()` ? Et que faire si je dois créer des sous-dossiers ?
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Concurrence et multithreading en C# : Guide complet pour les développeurs .NET
Expressions régulières en C++ avec exemples pour débutants
Code qui survit en enfer : C++ pour environnements radioactifs
Pourquoi &String, &Vec et &Box sont une mauvaise pratique en Rust ?