2016-10-11 2 views
0

Сейчас я изучаю, как загрузить фотографию с помощью PHP. Я скопировал код из w3schools.com, но я не могу догадаться, где я должен изменить имя фотографии. Этот код загружает фотографию с именем, которое у нее было ранее, но я хочу изменить его так, где я должен его написать?Как изменить имя файла в загрузке php-файла

<?php 
 
$target_dir = "uploads/"; 
 
$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 
 
if(isset($_POST["submit"])) { 
 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
 
    if($check !== false) { 
 
     echo "File is an image - " . $check["mime"] . "."; 
 
     $uploadOk = 1; 
 
    } else { 
 
     echo "File is not an image."; 
 
     $uploadOk = 0; 
 
    } 
 
} 
 
// Check if file already exists 
 
if (file_exists($target_file)) { 
 
    echo "Sorry, file already exists."; 
 
    $uploadOk = 0; 
 
} 
 
// Check file size 
 
if ($_FILES["fileToUpload"]["size"] > 500000) { 
 
    echo "Sorry, your file is too large."; 
 
    $uploadOk = 0; 
 
} 
 
// 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 "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
 
    } else { 
 
     echo "Sorry, there was an error uploading your file."; 
 
    } 
 
} 
 
?>

+0

Одно дело sucesfully выучить любой язык, чтобы понять, каким образом примеры работают, а не просто копировать их вместе. Если бы вы поняли этот пример, вы бы поняли, что это всего лишь вопрос об изменении одного значения переменной, –

+0

Кратко посмотрите документацию, и у вас есть ответ: http://php.net/manual/de/function.move-uploaded -file.php – arkascha

+0

Я решил эту проблему несколько месяцев назад. Я переименовываю фотографии на отметку времени, которую они загружали. Делалось так: $ newfilename = round (microtime (true)). '' , конец ($ температура); move_uploaded_file ($ _ FILES ["fileToUpload"] ["tmp_name"], "some/folders/maybe /". $ Newurlname); – Twinfriends

ответ

1

Вы можете изменить имя файла в этой строке:

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

ли что-то вроде

$target_file = $target_dir . "heyyyyy." . $imageFileType; 
+0

$ target_file = $ target_dir. «здесь появляется новое имя файла»; – Nikhil

+0

именно то, что я сделал, но вам также нужно вставить расширение файла – Phiter

+0

У меня проблема с расширением файла. в случае: "$ target_file = $ target_dir." name ". $ imageFileType, это дает мне:« Извините, разрешены только файлы JPG, JPEG, PNG и GIF. Извините, ваш файл не был загружен ». – nika

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