2014-01-08 12 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 [ 'ID']. '' , $ extension; 'line вы просто перезаписываете текущее значение $ 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"; 
} 
?> 
Смежные вопросы