亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

由于basename會過濾掉/和\,大家看看我這個解決辦法如何?

if(!preg_match($patten,basename($filename))

改為

if(!preg_match($patten,basename($filename))&&pathinfo($filename,PATHINFO_FILENAME)!=''&&pathinfo($filename,PATHINFO_DIRNAME)!='.')

這樣的話就可以解決問題,或者說哪位大神有更好的辦法可以說說呀

正在回答

2 回答

我覺得你這就挺好的啊

0 回復 有任何疑惑可以回復我~

我將createFile方法改成兩個參數的:

1、index.php文件中 ——————————————————————————

if ($act == "創建文件") {

$mes=createFile($filename,$path."/".$filename);

alertMes($mes, $redirect);

}


2、file.func.php文件中 ——————————————————————————

function createFile($filename,$full_filename) {

//file/1.txt

//驗證文件名的合法性,是否包含/,*,<>,?,|

$pattern = "/[\/,\*,<>,\?\|]/";

if (! preg_match ( $pattern, $filename ) ) {

//檢測當前目錄下是否存在同名文件

if (! file_exists ( $full_filename )) {

//通過touch($filename)來創建

if (touch ( $full_filename )) {

return "文件創建成功";

} else {

return "文件創建失敗";

}

} else {

return "文件名重復!請重命名后再創建新文件。";

}

} else {

return "非法文件名";

}

}

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

由于basename會過濾掉/和\,大家看看我這個解決辦法如何?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號