如何在php上传之前重命名文件

时间:2014-01-08 08:04:46

标签: php image

我想动态重命名文件然后上传它。我从DB获取文件名。但是当我重命名文件时,它没有从DB获取名称值。它正在考虑我要添加的静态部分。这是我的代码

uploadId.php:

      $con=mysqli_connect("localhost","root","****","database");
      $result= mysqli_query($con,"SELECT op_id FROM Optrs_info WHERE op_id='1234'");
      $res= mysqli_fetch_array($result); 
      $opid= $res["op_id"];
      $id= $opid . "add2";
      $_SESSION['id']= $id;

在这里,我正在使用新名称上传文件

<?php

  include("uploadId.php");
  $temp = explode(".", $_FILES["uploaded_file"]["name"]);
  $extension = end($temp);
  $path="/var/www/tcpdf/pictures/";

 $filename=basename($_FILES["uploaded_file"]["name"]);
 $filename =  $_SESSION['id'] . (string) strrchr($filename, '.');
 $filename =  $_SESSION['id'] . '.' . $extension;

  if(move_uploaded_file($_FILES["uploaded_file"]["tmp_name"],$path . $filename))
  {
      echo "Uploaded";
  }
?>

当我尝试使用add2.jpeg上传新文件时,但未添加$ opid值。

1 个答案:

答案 0 :(得分:3)

试试这个:

<?php
include("uploadId.php");
$temp = explode(".", $_FILES["uploaded_file"]["name"]);
$extension = end($temp);
$path="/var/www/tcpdf/pictures/";

 $filename = basename($_FILES["uploaded_file"]["name"]);
 $filename = $_SESSION['id'] . strrchr($filename, '.') . $extension;

 if(move_uploaded_file($_FILES["uploaded_file"]["tmp_name"],$path . $filename))
 {
     echo "Uploaded";
 }
?>