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

时间:2016-10-01 18:28:03

标签: php

我有一个博客/视频博客,我也从Spotify live分享我的听力习惯。 我使用一个名为Snip的小片段(在Github上可用)获取我的Spotify流,为我的数据创建文本文件(如track,artist,album和trackID)

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

由于google搜索和提示/ 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或暂停时,文本文件会自行清空,我的信息框会变成空白,这就是它应该是的方式:)。 乙 用......上面的代码,链接,图像和文字&#34;&lt; - Listen&#34;仍然可见,我一直试图弄清楚如何解决这个问题,但我被困住了。 (该链接也没有真正起作用,因为它只指向没有trackID的部分)

所以现在我转向你。你能帮我找到一个有效的解决方案吗? 如果没有,我可能会保持现状。

2 个答案:

答案 0 :(得分:1)

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

<?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);
}

答案 1 :(得分:0)

在为空白编写链接检查文件之前,例如:

$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);