Php 重命名上载的文件

Php 重命名上载的文件,php,file-upload,filenames,rename,Php,File Upload,Filenames,Rename,我试图通过添加上传者名称($user)来重命名上传的文件 但它所做的只是在扩展部分file.jpguser中显示用户名,下面是代码 if ((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) { //Check if the file is JPEG image and it's size is less than 1.4MB $filename =

我试图通过添加上传者名称($user)来重命名上传的文件 但它所做的只是在扩展部分file.jpguser中显示用户名,下面是代码

if ((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error']         == 0)) {
  //Check if the file is JPEG image and it's size is less than 1.4MB
  $filename = basename($_FILES['uploaded_file']['name']);
  $ext = substr($filename, strrpos($filename, '.') + 1);

 if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") &&
($_FILES["uploaded_file"]["size"] < 10485760))
{

//Determine the path to which we want to save this file
  $newname = dirname(__FILE__).'/affichagesimg/'.$filename'by'.$user;
  //Check if the file with the same name is already exists on the server


  if (!file_exists($newname)) {
    //Attempt to move the uploaded file to it's new place
    if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname)))         {

echo "<script>
alert('votre affichage a était publié avec succés !');
window.location.href='.';

</script>";
if((!empty($_FILES[“upload_file”])和&($_FILES[“upload_file”][“error”]==0)){
//检查文件是否为JPEG图像且大小是否小于1.4MB
$filename=basename($_文件['uploaded_文件]['name']);
$ext=substr($filename,strrpos($filename,'.')+1);
如果(($ext==“jpg”)&&($_文件[“上载的_文件”][“键入”]==“图像/jpeg”)&&
($_文件[“上载的_文件”][“大小”]<10485760))
{
//确定要保存此文件的路径
$newname=dirname(_文件).'/affichagesimg/.$filename'by'.$user;
//检查服务器上是否已存在同名文件
如果(!file_存在($newname)){
//尝试将上载的文件移动到新位置
如果((移动上传的文件($上传的文件['Upload\u file']['tmp\u name'],$newname))){
回声“
警惕(“公共事业成功之声”);
window.location.href=';
";

您需要拆分原始文件名(或)以获得扩展名。例如:

<?php
...
$file_parts = explode('.', $uploaded_filename);
$extension = array_pop($file_parts);
$file_stub = implode('.', $file_parts);
$new_name = $file_stub . 'by' . $user . '.' . $extension;
使用函数

您还可以使用解析文件名:

$file\u parts=pathinfo($upload\u filename)


$new_name=$file_parts['filename'].'by'.$user..$file_parts['extension'].

您希望得到什么?您在
$filename'by.$user
扩展后添加
user
。$user
您肯定缺少了
,但也可以看到@u\u mulder的评论。您是正确的@u\u mulder更新了代码,谢谢!
<?php
...
$new_filename = $filename . 'by' . $user . '.' . $ext;
$user = 'username';
$filename = $_FILES['uploaded_file']['name'];
$path_parts = pathinfo($filename);
$newname = "{$path_parts['filename']}_by_{$user}.{$path_parts['extension']}";