如何在php中将上传的文件重命名为Username?

时间:2019-04-04 04:12:21

标签: php

如何编写用于上传文件的代码,该文件应使用用户名而不是原始名称保存。

 <?php
    if ($_POST['upload'] )
     {
     $user=$_session['username'];// current username
     //$filename=basename($_FILES["file"]["name"]);



     $tmp=$_FILES["file"]["tmp_name"];
      $extension = explode("/", $_FILES["file"]["type"]);
      $name=$user.".".$extension[1];

    move_uploaded_file($tmp, "upload/" . $user.".".$extension[1]);
     }  

 ?>

错误:

  

注意:未定义的变量:C:\ xampp \ htdocs \ aaa \ upload中的_session   在线上的file.php

4 个答案:

答案 0 :(得分:0)

在用户登录时,您当时是否启动了会话并将其存储在您正在使用的会话变量中,即$ _session ['username']

答案 1 :(得分:0)

php SESSION语法错误

$user = $_SESSION['username'];

答案 2 :(得分:0)

尝试此代码,

   <?php
    if ($_POST['upload'] )
   {
       $user=$_SESSION['username'];// current username

        $filename = $user."_".$_FILES["file"]["name"];
        $newFilePath = "./upload/".$filename;

        if(move_uploaded_file($_FILES["file"]["tmp_name"],$newFilePath)) 
         {
              return true;
         }
            else
            {
                return false;
            }

  }
 ?>

答案 3 :(得分:0)

从最顶部开始会话,会话应始终为大写,即 SESSION

请考虑以下代码:-

<?php
session_start();
if ($_POST['upload'] )
 {
 $user=$_SESSION['username'];// current username
 //$filename=basename($_FILES["file"]["name"]);

 $tmp=$_FILES["file"]["tmp_name"];
  $extension = explode("/", $_FILES["file"]["type"]);
  $name=$user.".".$extension[1];

move_uploaded_file($tmp, "upload/" . $name);