PHP加密反向操作,希望哪位帮我改回来

问题遇到的现象和发生背景

现在的加密结果是随机0-9条不加密 其余全部加密

问题相关代码,请勿粘贴截图
$fileNameArr = scandir($dir2);
foreach ($fileNameArr as $fileName) {
    if ($fileName != '.' && $fileName != '..') {
        $m3u8txt = file_get_contents($dir2.'/'.$fileName);
        if (strstr($m3u8txt,"\r")==true) {
            $m3u8txt = str_replace("\r","",$m3u8txt);
        }
        if ($ifjm == true) {
            preg_match_all('/#EXTINF:(.*),\n?(.*)\n?/',$m3u8txt,$m3u8Arr);
            $timeArr = $m3u8Arr[1];
            $tsArr = $m3u8Arr[2];
            if (count($timeArr) == count($tsArr)) {
                $m3u8 = $m3u8head;
                if ($jmtype == 2) {
                    $r = (string)rand(0,9);
                }
                foreach ($tsArr as $key => $ts) {
                    $ts = trim($ts);
                    if ($jmtype == 1 || ($jmtype == 2 && strstr((string)$key,$r) == true)) {
                        $jmts = publicEncrypt($ts);
                    }
                    $m3u8 = $m3u8 . "\n" . '#EXTINF:' . $timeArr[$key] .',';
                    if (empty($jmts)==false) {
                        $jmurl = $web.'?ts='.$jmts;
                        $m3u8 = $m3u8 . "\n" . $jmurl;
                    } else {
                        $m3u8 = $m3u8 . "\n" . $ts;
                        if ($jmtype == 1) {
                            echo $fileName . '-' . $ts . '加密失败';
                            echo '
'
; }
运行结果及报错内容

目前加密结果是上面一段随机0-9条不加密,其他的全部加密

我的解答思路和尝试过的方法

配置文件选择1是全部加密 选择2是随机加密

我想要达到的结果

我希望的随机加密0-9条 其他的不加密

希望哪位朋友帮我改下代码

img

下面代码块写得与你的需求不一致

if ($jmtype == 1 || ($jmtype == 2 && strstr((string)$key,$r) == true)) {
  $jmts = publicEncrypt($ts);
}

1.如果你要实现随机加密0-9条,可以使用random_int(0,9)生成一个随机数,随机数的个数决定需要加密的文件数。
2.用random_int进行随机抽样

// 随机确定加密文件数
$needEncCnt=random_int(0,9);
// 随机抽取10%的加密,这个根据你的文件数量来确定,如果抽取1%的流量就用random_int(0,99)
$isEnc=random_int(0,9);
// 随机抽中需要加密,且有加密配额才加密
if($needEncCnt>=0 && $isEnc==0){
    $jmts = publicEncrypt($ts);
    $needEncCnt-=1;
}

https://ask.csdn.net/questions/1059784?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-2-1059784-ask-7771891.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-2-1059784-ask-7771891.pc_feed_download_top3ask