[英]How do I rename a filename to a random filename in PHP?
我有一個帶有隨機名稱的.php文件。 我想在按下特定按鈕時將其重命名為另一個隨機名稱。
function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
if (isset($_SESSION['submit'])) {
rename(, generateRandomString())
}
我在這里有這段代碼,我認為我做對了所有事情,但是我不知道如何執行重命名功能
您需要在PHP文檔中查找named()函數: http : //php.net/manual/en/function.rename.php
if (isset($_SESSION['submit'])) {
$oldFileName = 'foo.txt';
$newFileName = generateRandomString() . '.txt';
rename($oldFileName, $newFileName);
}
這是其基本形式,但是在生產中,您將需要處理錯誤並存儲新文件名等。
改善功能 。
這將使用字母/數字對數組進行混洗,並獲取前十個字符。
這應該比循環更有效。
$characters = array ('0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
);
shuffle($characters);
return implode("", array_slice($characters, 0,10));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.