我有mp3网站,当我点击下载得到一些这样的错误,所以我可以解决这个问题,请帮助我即时等待你们所以请电话我也删除该空间但仍然发出这个如果完整的代码当我点击下载它的重定向到主页这是不同的问题之前我没有解释完全现在这里是完整的代码以及
PHP Parse错误:语法错误,第42行/home/xxx/public_html/xxxx/xxxx/themes/xxxx/functions/source/download_mp3.php中的意外'$ title'(T_VARIABLE)
<?php
require_once('../../../../../wp-load.php');
if(isset($_REQUEST['filename'])) {
$filename = $_REQUEST['filename'];
} else {
echo '<p>No id passed in</p>';
exit;
}
function checkRemoteFile($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
// don't download content
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if(curl_exec($ch)!==FALSE){
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (($code == 301) || ($code == 302)) {
return false;
}else{
return true;
}
}else{
return false;
}
}
$checkMp3 = checkRemoteFile( base64_url_decode( $filename ) );
$title=$_GET['ref'];
$mp3file = base64_url_decode( $filename );
if($checkMp3){
?>
<html>
<head>
<title>Download Mp3</title>
</head>
<body>
<div class="downButtons" style="margin:5px">
<b class="red">Choose a server to download your song!</b>
<br><br><a rel="nofollow" target="_blank" title="Right Click to Download Mp3"class="dr dss" href="/download?mp3=<?php echo $mp3file;?>&title=<?php echo $title;?>"><img style="max-height:60px"src="http://ppp.com/download.jpg"></a>
</body>
</html>
<?php
}
else
{
echo '<div style="font-size:11px;text-align: center;color: black;">file not found, try other download link</div>';
}
?>
这里是第42行错误代码
<br><br><a rel="nofollow" target="_blank" title="Right Click to Download Mp3"class="dr dss" href="/download?mp3=<?php echo $mp3file;?>&title=<?php echo $title;?>"><img style="max-height:60px"src="http://ppp.com/download.jpg"></a>
答案 0 :(得分:0)
只有在您没有设置get参数时才会出现此错误。
你应该总是检查获取数据是否确实存在并且不是空的。
而不是:
$title=$_GET['ref'];
你应该有类似的东西:
if (isset($_GET['ref']) && !empty($_GET['ref'])) {
$title = $_GET['ref'];
}
编辑:我看到你也回显了$ title,因此如果你还没有收到任何获取数据,你可以将标题设置为空白。
像这样:
if (isset($_GET['ref']) && !empty($_GET['ref'])) {
$title = $_GET['ref'];
} else {
$title = "";
}
或者你可以像这样缩短它:
$title = (isset($_GET['ref']) && !empty($_GET['ref']) ? $_GET['ref'] : '');