2013-07-30 5 views
0

J'ai un dossier dans mon dossier img! utilisateurs avatar img est supposé y aller! Le problème est que je veux enregistrer les photos avec le nom d'utilisateur. Par exemple, l'utilisateur avec l'ID 1 a une image nommée 1.jpg, donc je devrais renommer le fichier $ id. Le problème est que les extensions de fichiers sont supprimées! Regardez le code ci-dessous:stocker le fichier téléchargé avec le nom d'utilisateur

$target_file = basename(time().$_FILES['file_upload']['name']); 

Comment est-ce que je devrais changer cette ligne pour mon but? Je veux cela: Si l'utilisateur avec id 1 télécharge avatar.png il stocke dans le dossier avec le nom 1.png (je vais encoder l'ID plus tard).

Aussi, imaginez que j'ai déjà une variable qui a un identifiant utilisateur prêt appelé $ id.

+0

'target_file de $ = .png ' 'votre fichier// chemin /'.$ id..'' –

Répondre

0

Avez-vous pensé à quelque chose comme ça?

$userID = 1; 
$path = "/absolute/path/to/your/upload/folder/"; 
//explode the filename so we get the extension 
$fileData = explode(".", $_FILES['file_upload']['name']); 
//considering the filename "avatar.png" $target_file will contain "/absolute/path/to/your/upload/folder/1.png" 
$target_file = $path . $userID . "." . $fileData[1]); 
1
$path = $_FILES['file_upload']['name']; 

$ext = pathinfo($path,PATHINFO_EXTENSION); 

$ ext est l'extension, tandis que "$userid.$ext" vous donne UserID.extension

+0

il vous donne extension.nom d'utilisateur –

+0

@TobiasKun typo, vous deviez me donner -1 pour cela? – user2635236

+0

Oui. Parce que ça ne l'a pas aidé dans cet état. J'ai enlevé le -1. Bien que vous devriez vérifier votre réponse à nouveau. Il veut utiliser l'identifiant de l'utilisateur. –

Questions connexes