彼の各文の意味がまだ理解できません?
function f_postfix($f_type,$f_upfiles){ $is_pass = false; $tmp_upfiles = split("\.",$f_upfiles); $tmp_num = count($tmp_upfiles); for($num = 0; $num < count($f_type);$num++){ if(strtolower($tmp_upfiles[$tmp_num - 1]) == $f_type["$num"]) $is_pass = $f_type["$num"]; } return $is_pass;}
$f_type とは何ですか?関数のパラメータが何を意味するのかわからないので、関数を文字通りに分析することしかできません。
$is_pass = false;//宣言トラバーサル
$tmp_upfiles = split(".",$f_upfiles);//配列の文字列切り取り
$tmp_num = count($tmp_upfiles);//同じレベルの配列の数
for( $num = 0; $num < count($f_type);$num++){// 配列を走査します
if(strto lower($tmp_upfiles[$tmp_num - 1]) == $f_type["$num"] )//使用 - 使用の使用 - $ tmp_upfiles = split( "、$ f_upfiles); //入力ファイル名(おそらくパス)を"
$tmp_upfiles[$tmp_num - 1]
理解できません、どうすれば論理的に理解できますか
function f_postfix($f_type,$f_upfiles){ $is_pass = false; //指定返回值的初值,false 表示无效 $tmp_upfiles = split("\.",$f_upfiles); //按 . 将文件名拆分成数组//注意:从php5.3起split函数已经在废止之列,使用时需加 @ 屏蔽错误//建议改为 explode,$tmp_upfiles = explodet(".",$f_upfiles); $tmp_num = count($tmp_upfiles); //统计拆分后数组元素的个数 for($num = 0; $num < count($f_type);$num++){ //对传入的后缀数组 if(strtolower($tmp_upfiles[$tmp_num - 1]) == $f_type["$num"]) //与文件名的后缀比较 $is_pass = $f_type["$num"]; //成果则保存 } return $is_pass; //返回计算结果}
文字列を配列に分割し、最後の要素と
substr($f_upfiles, strripos($f_upfiles) を取得することを検討してください, '.')+1);
抽出されたファイル名のサフィックスは pathinfo($f_upfiles, PATHINFO_EXTENSION)
単純な形式
function f_postfix($f_type,$f_upfiles) { $ext = strtolower(pathinfo($f_upfiles, PATHINFO_EXTENSION)); return in_array($ext, $f_type) ? $ext : false;}