使用PHP脚本加载视频标签,在一台服务器上正常工作,但在另一台服务器中不加载视频



使用PHP脚本加载视频标签,在一台服务器上正常工作,但在另一台服务器中无法加载视频。

我的代码段:

<video controls src="demo.mp4"></video>
<?php
if (session_id() == '') {
session_start();
}
error_reporting(0);
$out2 = ob_get_contents();
if (strpos($out2, "<video") || strpos($out2, "<audio") || strpos($out2, "<source")) {
ob_clean();
if (strpos($out2, "<safe") == false) {
$window = md5(time());
$_SESSION['window'] = $window;
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
<script>
jQuery.ajax({
type: "POST",
url: "/enable.php",
});
</script>
<?php
if (strpos($out2, "<safe") !== false) {
$_SESSION['safe'] = "SAFE";
}
function getURL($matches) {
global $rootURL;
if ($_SESSION['defat'] == "") {
$_SESSION['defat'] = 1;
} else {
$_SESSION['defat'] = $_SESSION['defat'] + 1;
}
$_SESSION['x' . $matches['2'] . $_SESSION['defat']] = 0;
$_SESSION['defa' . $matches['2'] . $_SESSION['defat']] = md5(time() . "Defa Protector");
$_SESSION['imdefa' . $_SESSION['defat']] = md5('Defa') . base64_encode(base64_encode($matches['2']));
$_SESSION['x' . $matches['2']] = 0;
$_SESSION['defa' . $matches['2']] = md5(time() . "Defa Protector");
$_SESSION['file' . $_SESSION['defat']] = md5('Defa') . base64_encode(base64_encode($matches['2']));
return $matches[1] . $rootURL . "defavid.php?window=" . $_SESSION['window'] . "&defat=" . $_SESSION['defat'];
}
$mes = preg_replace_callback("/(<video[^>]*src *= *["']?)([^"']*)/i", getURL, $out2);
$mes = preg_replace_callback("/(<source[^>]*src *= *["']?)([^"']*)/i", getURL, $mes);
$mes = preg_replace_callback("/(<audio[^>]*src *= *["']?)([^"']*)/i", getURL, $mes);
echo $mes;
} else {
echo $out2;
}
}
?>

这个脚本在一台服务器上正常工作,但当我把它放在另一台服务器时,它就不会加载到视频中。

我尝试通过评论ob_clean((;然后它也在那里工作。但我不必对此发表评论。所以请建议我改变一下

如果您的不工作服务器是Apache,则可能是未配置/配置错误的.htaccess

请参阅:https://httpd.apache.org/docs/current/howto/htaccess.html

相关内容

最新更新