為什么重命名失敗
/**檢查文件名的合法性 ?*?@param?string?$filename ?*?@return?boolean ?*/ function?checkFilename($filename){ ????$pattern="/[\/,\*,<>,\?\|]/"; ????if(preg_match($pattern,$filename)){ ????????return?false; ????}else?{ ????????return?true; ????} } /**重命名文件名 ?*?@param?string??$oldname ?*?@param?string?$newname ?*?@return?string ?*/ function?renameFile($oldname,?$newname) { ????//echo?$oldname,?$newname; ????//?驗(yàn)證文件名是否合法 ????if?(checkFilename($newname))?{ ????????//?檢測(cè)當(dāng)前目錄下是否存在同名文件 ????????$path?=?dirname($oldname); ????????if?(!?file_exists($path?."/"?.?$newname))?{ ????????????//?進(jìn)行重命名 ????????????if?(rename($oldname,?$path?.?"/"?.?$newname))?{ ????????????????return?"重命名成功"; ????????????}?else?{ ????????????????return?"重命名失敗"; ????????????} ????????}?else?{ ????????????return?"存在同名文件,請(qǐng)重新命名"; ????????} ????}?else?{ ????????return?"非法文件名"; ????} } ?>
$path = "file";
$act = $_REQUEST['act'];
$filename = $_REQUEST['filename'];
else
? ? ? ? ? ? if ($act == "renameFile") {
? ? ? ? ? ? ?// 完成重命名
? ? ? ? ? ? ?$str = <<<XGG
<form action="index.php?act=doRename" method="post">
? ? ? ? ? ? ? ? 請(qǐng)?zhí)顚懶碌奈募?lt;input type="text" name="newname" placeholder="重命名" />
? ? ? ? ? ? ? ? <input type='hidden' name='fileanme' value='{$filename}' />
? ? ? ? ? ? ? ? <input type="submit" value="重命名" />
? ? ? ? ? ? ? ? </form>
XGG;
? ? ? ? ? ? echo $str;
? ? ? ? ? ? } else if ($act == "doRename") {
? ? ? ? ? ? ? // 實(shí)現(xiàn)重命名的操作
? ? ? ? ? ? ? $newname = $_REQUEST['newname'];
? ? ? ? ? ? ? $mes=renameFile($filename, $newname);
? ? ? ? ? ? ? alertMes($mes, $redirect);
? ? ? ? ? ? ?}
<a?href="index.php?act=renameFile&filename=<?php?echo?$p;?>"><img?alt="" src="images/rename.png"?title="重命名"?/></a>
2017-03-16
input type='hidden' name='fileanme' value='{$filename}' />
隱藏域的這個(gè)name打錯(cuò)了,是 filename,不是fileanme
2017-03-13
...$path=dirname($oldname); ?這里dirname() 這個(gè)函數(shù)返回的是文件目錄的名字 不是返回文件前面的路徑