2014-01-08 109 views
0

我想动态重命名文件,然后上传它。我正在从数据库中提取文件的名称。但是当我重命名文件时,它不会从数据库获取名称值。它正在考虑我添加到它的静态部分。这里是我的代码如何在上传之前重命名文件php

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值没有得到添加。

+2

你是否意识到与'$文件名= $ _SESSION [ '身份证']。 '' 。 $ extension;'你只是覆盖当前'$ filename'的值? – zerkms

+0

雅我知道。这是我想要的新文件名。 –

+0

“这是我想要的新文件名”---如果它是你想要的 - 那么你的问题是什么? – zerkms

回答

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"; 
} 
?> 
相关问题