当文本文件为空时隐藏回显输出

Hide echo output, when text file is empty

我有一个 blog/vlog,我也在这里分享我在 Spotify 直播中的收听习惯。 我使用一个名为 Snip 的小片段(在 Github 上可用)获取我的 Spotify 流,为我的数据(如曲目、艺术家、专辑和曲目 ID)创建文本文件

现在我想在我的网页上添加一个 link 到我正在播放的实际曲目,使用变量 $i 作为 trackID

多亏了一些谷歌搜索和 tips/trix 页面,我想出了这段代码:

<?php
$myfile = fopen("Snip_TrackId.txt", "r") or die("Die!"); 
echo "<a href='https://open.spotify.com/track/";
echo fread($myfile,filesize("Snip_TrackId.txt"));
echo "'target='_blank'><img width='18px' height='18px' title='Open with Spotify' src='np_spotify.png'><a/> <- Listen";
fclose($myfile);
?>

这很好用,但是当我关闭 Spotify 或暂停时,文本文件会自行清空,我的信息框会变成空白,而且应该是这样的:)。 乙 ut ......使用我上面的代码,link、图像和文本“<- Listen”仍然可见,我一直在想办法解决这个问题,但我被卡住了。 (link 也没有真正起作用,因为它只指向没有 trackID 的部分)

所以现在我转向你。你能帮我解决这个问题吗? 如果没有,我可能会保持原样。

在写入 link 之前检查文件是否为空,例如:

$file = "Snip_TrackId.txt";
if (0 < filesize($file)) {
    $myfile = fopen("Snip_TrackId.txt", "r") or die("Die!"); 
    echo "<a href='https://open.spotify.com/track/";
    echo fread($myfile,filesize("Snip_TrackId.txt"));
    echo "'target='_blank'><img width='18px' height='18px' title='Open with   Spotify' src='np_spotify.png'><a/> <- Listen";
    fclose($myfile);
}

或者如果文件包含空格 - 检查读取的数据:

$myfile = fopen("Snip_TrackId.txt", "r") or die("Die!"); 
$data = trim(fread($myfile,filesize("Snip_TrackId.txt")));
if ($data) {
    echo "<a href='https://open.spotify.com/track/";
    echo $data;
    echo "'target='_blank'><img width='18px' height='18px' title='Open with   Spotify' src='np_spotify.png'><a/> <- Listen";
}
fclose($myfile);

您可以在阅读前检查文件大小:

<?php 
if ((int)filesize("Snip_TrackId.txt") > 0)
{
    $myfile = fopen("Snip_TrackId.txt", "r") or die("Die!");
    echo "<a href='https://open.spotify.com/track/";
    echo fread($myfile, filesize("Snip_TrackId.txt"));
    echo "'target='_blank'><img width='18px' height='18px' title='Open with Spotify' src='np_spotify.png'><a/> <- Listen";
    fclose($myfile);
}