1. 程式人生 > >php中對上傳到伺服器的檔案重新命名

php中對上傳到伺服器的檔案重新命名

 

原始碼:

$path = './upfiles/'. $_FILES['file']['name'];

$filename = basename($path);// basename($path):返回上傳檔案的基本的檔名,如:檔名.doc
 $actualname = $filename;
 $extpos = strrpos($filename,'.');//返回字串filename中'.'號最後一次出現的數字位置
 $ext = substr($filename,$extpos+1);
 $studentid = $_SESSION['uid'];
 $file = $userid.'.'.$ext;//$ext是獲取上傳檔案的字尾名,$file是新檔名(形式為$userid.字尾名)

接著呼叫move_uploaded_file($_FILES['file']['tmp_name'],$path)進行檔案上傳

增加功能:對上傳到伺服器的檔案進行重新命名。無論原檔案的名字是什麼,改後形式均為;$userid.字尾名

修改程式碼:

$path = './upfiles/'. $_FILES['file']['name'];

 $filename = basename($path);// basename($path):返回基本的檔名,如:檔名.doc
 $actualname = $filename;
 $extpos = strrpos($filename,'.');//返回字串filename中'.'號最後一次出現的數字位置
 $ext = substr($filename,$extpos+1);
 $studentid = $_SESSION['uid'];
 $file = $studentid.'.'.$ext;
 $path = './upfiles/'.$userid.'.'.$ext;

總結:

$path = './upfiles/'. $_FILES['file']['name'];中$path構造了一個完整的路徑   你可以這樣理解 './upfiles/'是伺服器接受上傳檔案的資料夾   $_FILES['file']['name']是伺服器接受上傳檔案後將其儲存的檔名,這個整體構成了上傳檔案在伺服器的儲存路徑。
也就是說只要我修改了$path = './upfiles/'. $_FILES['file']['name'];裡的$_FILES['file']['name'],再呼叫move_uploaded_file($_FILES['file']['tmp_name'],$path)
時,就會把檔案移到$path指定的路徑下,新檔案的名字就是$path裡修改後的$_FILES['file']['name']的