我有使用 php 的文件上传功能,然后我需要提供这些文件的链接以下载它们。目前我刚刚给出了一个超链接,例如:
<a href="/files/testbook.pdf"> Text Book </a>
但这只是显示一个链接.. 而需要显示一个 pdf 文件图标。我怎样才能做到这一点?
您可以使用 css 选择器选择所有指向 pdf 文件的链接并动态应用图标。这意味着您不需要img
为所有链接添加单独的标签。您可以为不同的文件类型或外部链接和内部链接等添加其他选择器。
您的 CSS 中的示例如下所示。
a[href$='.pdf'] {
display:inline-block;
line-height:18px; /* check your icon height */
padding-right:20px;
background: transparent url(images/pdf.png) center right no-repeat;
}
/* change padding-right to padding left and background
position center right to center left
if you want to display icon on the left side */
这个有用的代码取自http://www.vision.to/add-a-small-icon-to-your-links-css-only.php
并在此处对主题进行有趣的阅读http://www.portent.com/blog/design-dev/class-up-your-link-icons-with.htm
在线搜索PDF图标,然后下载
<a href=file.pdf><img src=pdficon.jpg> test book</a>
您可以使用以下内容:
<a href="/files/testbook.pdf"> <img src="path_to_image" alt="Textbook"/> </a>
它将图像显示为链接。当您单击图像时,浏览器将开始下载 PDF 或在浏览器中显示 PDF。
你可以用 CSS 做得更好。我还建议使用 target 属性来强制链接在新选项卡中打开,这样网站访问者在单击外部链接时不会离开您的网站(在这种情况下,所有意图和目的都是外部的......)
<a id="pdf-link" target="_BLANK" href="/files/testbook.pdf"> Text Book </a>
a#pdf-link {
background: url('../images/pdf-icon.png') left center no-repeat;
display: block;
min-height: <USE-IMAGE-HEIGHT>px;
padding-left: <USE-IMAGE-WIDTH-PLUS10/20>px;
}
正如@Jocelyn 在评论中所说,您需要使用标签 img 来显示图像:
<a href="/files/testbook.pdf"><img src="/path/to_your_image.png" alt="Text Book"/> Text Book </a>
我建议您检查文件的类型,然后放入正确的图像(PDF、ZIP、DOC ...),您可以使用:
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, 'YOUR_FILENAME');
然后根据您允许的 mime 类型进行切换或 if..else。