script php upload image

Eléphanteau du PHP | 28 Messages

06 juin 2011, 11:07

bonjour

j'utilise un script pour uploader une photo ainsi qu'un pseudo. Je voudrais pouvoir renommer la photo avec comme nom le pseudo.jpg
<?php

if(isset($_POST['pseudo'])) 	$pseudo=$_POST['pseudo'];
else	$pseudo='';
echo $pseudo;

$uploaddir = './';      
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;

$nomFichier = $pseudo; 
$newName = $uploadDir . $nomFichier . $uploadFile;
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
	echo "Temp file uploaded. \r\n";
} else {
	echo "Temp file not uploaded. \r\n";
}

if ($_FILES['userfile']['size']> 300000) {
	exit("Your file is too large."); 
}

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $newName)) {
    $postsize = ini_get('post_max_size');  
    $canupload = ini_get('file_uploads');    
    $tempdir = ini_get('upload_tmp_dir');  
    $maxsize = ini_get('upload_max_filesize');
  
}

?>
mon
echo $pseudo
fonctionne car je vois le pseudo apparaitre mais c'est pour renommer le fichier ou ca coince.

un ptit coup de main les amis, merci

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

06 juin 2011, 12:24

t'as qu'à écrire directement le nom et le chemin d'accès du fichier uploadé comme tu veux sans tourner autour du pot.

<?php

if(isset($_POST['pseudo']))     $pseudo=$_POST['pseudo'];
else    $pseudo='INCONNU';
echo $pseudo;

//Nom d'enregistrement de l'image téléchargée
$newName = './'. $pseudo . ".jpg";

//
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
        echo "Temp file uploaded. \r\n";
} else {
        echo "Temp file not uploaded. \r\n";
}

if ($_FILES['userfile']['size']> 300000) {
        exit("Your file is too large.");
}

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $newName)) {
    $postsize = ini_get('post_max_size');  
    $canupload = ini_get('file_uploads');    
    $tempdir = ini_get('upload_tmp_dir');  
    $maxsize = ini_get('upload_max_filesize');
 
}

?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 28 Messages

06 juin 2011, 12:32

oui mais $pseudo est censé être une variable.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

06 juin 2011, 13:58

Justement, on a concaténé $pseudo dans le nom pour avoir un nom d'image correspondant à la valeur de $pseudo à l'exécution.
//Nom d'enregistrement de l'image téléchargée
$newName = './'. $pseudo . ".jpg";
si $peudo est égale à "toto" par exemple, le nom de l'image sera: "./toto.jpg" etc...
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène