2013-07-29 197 views
-1

我已經獲得了用於上傳圖像的上傳表單,我想將圖像的名稱更改爲特定名稱。將上傳圖像的名稱更改爲特定名稱

這是我的代碼:

<?php 

// A list of permitted file extensions 
$allowed = array('png', 'jpg', 'gif','zip'); 

if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ 

$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); 

if(!in_array(strtolower($extension), $allowed)){ 
    echo '{"status":"error"}'; 
    exit; 
} 

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){ 
    echo '{"status":"success"}'; 
    exit; 
} 
} 

echo '{"status":"error"}'; 
exit; 
+0

那麼您接收到的錯誤或您遇到的問題是什麼? –

+0

你所做的只是給它和以前一樣的名字。 PHP沒有這樣做,但你是。看看'move_uploaded_file'函數的第二個參數 – Flosculus

回答

0
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/your_own_name_here.'$extension)){ 
    echo '{"status":"success"}'; 
    exit; 
} 
+0

it劑量工作,是否有可能我下載完整的源代碼鏈接,所以你可以看到完整的實現 – user2617870

+0

給我的鏈接 – sudhakar

+0

http://tutorialzine.com/2013/05/mini-ajax-file-upload-form /#comment-85865,從那裏下載並看看wat說的話,如果最終你對我想要的做出正確的改變,你可以離開它併發布它,會非常感謝 – user2617870

0

你應該改變$ _FILES [ 'UPL'] [ '名']在下面的代碼

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){ 

例如:

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/nameOfTheFile.jpg')){ 
+0

它dosent工作,是否有可能我gv ua鏈接downlod完整的源代碼,所以你可以看到完整的實施 – user2617870

0

你可以添加喲您在調用函數move_uploaded_file中的自定義文件名稱。 一樣,

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.'yourcustomname'.$extension)){ 

如果你想添加獨特的名字,那麼你可以使用像,

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.time().$extension)){ 
+0

它dosent工作,是它有可能讓我鏈接到下載完整的源代碼,所以你可以看到完整的實現 – user2617870

0

改變,以反映你的問題,會產生基於當前時間的隨機數和追加最初上傳的文件的擴展名。

0
$temp = explode(".", $_FILES["file"]["name"]); 

$newfilename = round(microtime(true)) . '.' . end($temp); 

move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename); 
+0

關於什麼是最後的文件名將是偉大的一些細節 –