我从http://tutorialzine.com/2010/02/php-mysql-download-counter/ 并将其成功集成到我的wordpress中。它可以工作,但即使值为真,也会显示“无下载文件”消息。代码如下:
<?php
$value = get_post_custom_values("kpm_UploadFile");
$url = ($value[0]);
$tokens = explode(\'/\', $url);
$dlvalue = $tokens[sizeof($tokens)-1];
if (current_user_can(\'read\')) {
foreach($files_array as $key => $val) {
if ($dlvalue == $val){
echo \'<a href="http://drrknowledge.net/download.php?file=\'.urlencode($val).\'"><strong>Download File</strong><br />\'.$val.\' has been downloaded <strong>\'.(int)$file_downloads[$val].\'</strong> times</a>\';
}else {
echo \'No Download File\';
}
}
} else { echo \'Register to download\';}
?>
我想在这里实现的是显示下载文件。如果“kpm\\U UploadFile”自定义字段中没有文件,或者如果没有文件,则会显示一条else语句,说明“无下载文件”。
我可以删除
echo“无下载文件”;
但如果没有价值,我想显示一条消息。
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
好吧,这是一个很大的猜测,因为我看不到您的其余代码,但像这样的东西应该可以工作,我希望。。。
<?php
$value = get_post_custom_values("kpm_UploadFile");
$url = ($value[0]);
$tokens = explode(\'/\', $url);
$dlvalue = $tokens[sizeof($tokens)-1];
if (current_user_can(\'read\')) {
$found = 0;
foreach ($files_array as $key => $val) {
if ($dlvalue == $val) {
$found = 1;
echo \'<a href="http://drrknowledge.net/download.php?file=\'.urlencode($val).\'"><strong>Download File</strong><br />\'.$val.\' has been downloaded <strong>\'.(int)$file_downloads[$val].\'</strong> times</a>\';
}
}
if ( !$found ) {
echo \'No Download File\';
}
} else { echo \'Register to download\';}
?>