2014-06-10 103 views
0

我需要有用於上傳文件的網頁表單。我想保存上傳文件的原始名稱。上傳文件並將其保存爲原始名稱

我有這樣的PHP代碼:

<form action="" enctype="multipart/form-data" method="POST"> 
    <input type="file" name="file" /> <br /> 
    <input type="submit" value="Upload" /> 
</form> 

<?php 
    if (($_SERVER['REQUEST_METHOD'] == 'POST')) { 
    $fieldname = $_REQUEST['file']; 
    $tmpfile = $_FILES[$fieldname]['tmp_name']; 

    $info = pathinfo($tmpfile); 
    $filename = 'newfile.' . $info['extension']; 

    $uploaddir = 'uploads/'; 
    $uploadfile = $uploaddir . $filename; 

    if(move_uploaded_file($tmpfile, $uploadfile)) { 
     echo $uploadfile; 
    } 

    } 
?> 

但畢竟用戶上傳文件我有服務器tmp_name文件。

我需要的是:用戶上傳文件photo123.jpg - 我想在服務器上使用photo123.jpg。用戶上傳firefox.exe - 我想firefox.exe

+0

你有沒有嘗試谷歌? – Naruto

+0

請檢查這個'http:// www.w3schools.com/php/php_file_upload.asp' –

回答

1

嘗試$_FILES['file']['name']

if (($_SERVER['REQUEST_METHOD'] == 'POST')) { 
    $tmpfile = $_FILES['file']['tmp_name']; 
    $filename = $_FILES['file']['name']; 
    $uploaddir = 'uploads/'; 
    $uploadfile = $uploaddir . $filename; 
    if(move_uploaded_file($tmpfile, $uploadfile)) { 
     echo $uploadfile; 
    } 
    } 
1

試試這個:

$fieldname = $_FILES['file']['name']; 

,而不是$fieldname = $_REQUEST['file'];

+0

請讓我知道它是否適合你。 – AkshayP

+0

我不明白這有何幫助;從共享的代碼判斷,'$ fieldname'應該是''file'''而不是上傳的文件名。 –

+0

@Jack,謝謝,我已經更新了我的答案。 – AkshayP

相關問題