2015-02-02 3 views
0

Я использую эту функцию, чтобы загрузить изображение:PHP Загрузить изображение с заданным именем

<?php 

    session_start(); 

if(!isset($_SESSION["user"]) or !is_array($_SESSION["user"]) or empty($_SESSION["user"])) { 
     // redirect to login page 
} 



$target_dir = ('users/'.$_SESSION["user"]["id"].'/'); 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 


// Check if file already exists 

// Check file size 

// Allow certain file formats 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif") { 
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
    $uploadOk = 0; 
} 
// Check if $uploadOk is set to 0 by an error 
if ($uploadOk == 0) { 
    echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo header('Location: main.php'); 
    } 
} 
?> 

Как изменить имя файла: profilepicture , например. Как любой пользователь, загружающий изображение, он загружается в файл идентификатора пользователя, но с именем фактического изображения, а не с профилем.

+0

Вы бы изменить информацию о '$ target_file', фиксируя фактическое имя файла в форме во время загрузки. –

ответ

1

Вы можете изменить следующую строку:

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 

$ _FILES [ "fileToUpload"] [ "имя"] Оригинальное имя файла, поэтому изменить его на что-то вроде:

$target_file = $target_dir . 'profilepicture.'.pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION); 
+0

Вы спасатель жизни: D Большое вам спасибо. – SARUAV

Смежные вопросы