已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

【php源码】看小姐姐唱歌,来自52pj某网友发帖挨删了


『回复列表(44|隐藏机器人聊天)』

20.
楼主 @TabKey9 于 2023-05-09 18:34 删除了该楼层,理由如下:

无关回复

(/@Ta/2023-05-09 18:10//
被锁定
)

21.
层主 @TabKey9 于 2023-05-09 18:29 删除了该楼层。
(/@Ta/2023-05-09 18:25//
被锁定
)

22.
楼主 @TabKey9 于 2023-05-09 18:29 删除了该楼层,理由如下:

无关回复

(/@Ta/2023-05-09 18:25//
被锁定
)

23.
层主 @TabKey9 于 2023-05-09 18:31 删除了该楼层。
(/@Ta/2023-05-09 18:28//
被锁定
)

24.
楼主 @TabKey9 于 2023-05-09 18:31 删除了该楼层,理由如下:

无关回复

(/@Ta/2023-05-09 18:29//
被锁定
)

25.

解决一个BUG

如果不存在一个叫nextcookie,则设置一个新的。

        const cookiesMap = new Map(document.cookie.split('; ').map(cookie => cookie.split('=')).map(([name, value]) => [decodeURIComponent(name), decodeURIComponent(value)]));
        
        if (!cookiesMap.has('next')) {
        const nextValue = '{"play_addr":"https://v11-cold.douyinvod.com/d63bb47ebac366828348c6ef6b914a45/6458cfe0/video/tos/cn/tos-cn-ve-15/ok3EDlbrgEW9AI1kjDUKOrejAoAtNXbcBzQfno/?a=1128&ch=0&cr=0&dr=0&cd=0%7C0%7C0%7C0&cv=1&br=1586&bt=1586&cs=0&ds=3&ft=nK5C30071u7vpihBH6xRf4pHT4BO5.DQqhdz7tG&mime_type=video_mp4&qs=0&rc=ZTo7NGU1N2lpNDw7aGRoM0BpanNlPGU6ZmdxaDMzNGkzM0AxX2IvM2BiX18xNWFiMWNeYSNzNW82cjRvL2pgLS1kLWFzcw%3D%3D&l=2023050817324680B3BA69F50CC900CB44&btag=e00090000","video_id":"v0d00fg10000cemn2drc77ub99rb8pvg","run_time":"1,024.2","new_play_addr":"blob:https://xiaojiejie.tlip.cn/aa9ca169-de30-4865-8947-b0b4bf17b9e5"}';
          setCookie('next', nextValue, 60);
        }
        
        function setCookie(name, value, expireSeconds, path='/') {
          const expires = new Date();
          expires.setTime(expires.getTime() + expireSeconds * 1000);
          const cookieValue = encodeURIComponent(name) + '=' + encodeURIComponent(value) + (expires ? '; expires=' + expires.toUTCString() : '') + '; path=' + path;
          cookiesMap.set(name, cookieValue);
          document.cookie = cookieValue;
        }

完整代码在5楼

(/@Ta/2023-05-09 19:09//)

26.

@没落的情绪@艾木友尔尔巴,手机也可以播放了,因为cookie的问题解决了,貌似第一次打开需要等待几秒钟,然后点击播放或者刷新页面

(/@Ta/2023-05-09 19:28//)

27.

@TabKey9,确实可以,手机第1次打开,会报错要刷新一下才可以
小米11PRO(黑)

(/@Ta/2023-05-09 19:59//)

28.

@没落的情绪,是的,这是前端代码的问题,其实是php在执行,但是需要几秒钟,然而前端发请求之后并没有等待php处理完成 或者超时了,php在处理这个JSON数据:https://gitee.com/QQ-2731371/codes/nxe5yoirc9l8s70dzvawh50/raw?blob_name=JoyfulList时比较慢

(/@Ta/2023-05-09 21:11//)

29.
(/@Ta/2023-05-09 21:25//)

30. @艾木友尔尔巴@没落的情绪,刷到真唱的就好看,刷到个别假唱对口型的,好别扭
(/@Ta/2023-05-09 22:42//)

31.

@TabKey9,所以可以考虑增加调到下一个视频功能?
小米11PRO(黑)

(/@Ta/2023-05-09 22:55//)

32. @没落的情绪你来你来,资源都有了,你给换个壳,再套个开源的播放器,要啥有啥
(/@Ta/2023-05-09 23:06//)

33.

@TabKey9,我不会,哈哈哈
小米11PRO(黑)

(/@Ta/2023-05-09 23:09//)

34.

所以可以考虑增加调到下一个视频功能?

@没落的情绪,那你就先用刷新页面代替吧!我也不会那个上下滑动切换视频的功能

(/@Ta/2023-05-09 23:39//)

35.

解决了一个BUG

代码需要审核,有点麻烦,所以5楼不改了,需要你自己动手替换代码进Joyful.php文件中

一个是报错:Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in.....
原因:

这个错误的意思是 count() 函数的第一个参数必须是可数的数组,但实际传递了一个 null。通常这种错误发生在尝试使用 count() 函数计算非数组变量的长度时。

为了解决这个错误,我们需要确保 count() 函数的第一个参数是一个可数的数组。为此,我们可以使用 PHP 中的 is_array() 函数和 empty() 函数进行检查。如果变量是一个空数组,那么我们可以将它视为不可数的,并将其设置为一个空数组。

解决方案:加数组判断以及非空检验。

另一个是警告:Warning: Undefined array key 0 in......
原因:服务器缓存文件Joyful.txt里是空值。
解决:删除缓存文件,然后用户自己刷新页面就好了,服务器会重新生成一个新的缓存文件。

解决方案看这:仅展示变更的代码:

// 变更前
function get_video_id($Api)
{
    $cache = __DIR__ . '/Joyful.txt';
    if (is_file($cache)) {
        $Data = unserialize(file_get_contents($cache));
        if (count($Data) == 0) {
            $Data = json_decode(file_get_contents($cache), true);
        }
    } else {
        $Data = json_decode(file_get_contents($Api), true);
    }
    $key = rand(0, count($Data) - 1);
    $video_id = $Data[$key];
    unset($Data[$key]);
    file_put_contents($cache, serialize(array_values($Data)));
    return $video_id;
}

变更后

// 变更后
function get_video_id($Api)
{
    $cache = __DIR__ . '/Joyful.txt';
    if (is_file($cache)) {
        $Data = unserialize(file_get_contents($cache));
        if (!is_array($Data)) {
            $Data = json_decode(file_get_contents($cache), true);
            if (!is_array($Data)) {
                $Data = array();
            }
        }
    } else {
        $Data = json_decode(file_get_contents($Api), true);
    }
    
    if (empty($Data)) {
        unlink($cache); // 删除缓存文件
        $Data = json_decode(file_get_contents($Api), true);
    }
    
    $key = !empty($Data) ? rand(0, count($Data) - 1) : null;
    $video_id = isset($Data[$key]) ? $Data[$key] : null;

    if ($key !== null && $video_id !== null) {
        unset($Data[$key]);
        file_put_contents($cache, serialize(array_values($Data)));
    }
    
    return $video_id;
}
(/@Ta/2023-05-10 13:33//)

36.
(/@Ta/2023-05-10 15:48//)

37.

在这帖子补个原作者的链接

@echo醉老仙,我看看你分享的这些源码

(/@Ta/2023-05-10 16:59//)

38. @echo醉老仙,除了哪个需要Python的,其它我都看过效果了,视频资源不太赏心悦目,加载视频转圈有点久,可能是我在本地跑apache的原因,不过有些地方是可以借鉴的
(/@Ta/2023-05-10 17:38//)

39.
(/@Ta/2023-05-11 18:51//)

下一页 上一页 2/3页,共44楼

回复需要登录

9月8日 23:03 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1