0

我有使用 php 的文件上传功能,然后我需要提供这些文件的链接以下载它们。目前我刚刚给出了一个超链接,例如:

<a href="/files/testbook.pdf"> Text Book </a>

但这只是显示一个链接.. 而需要显示一个 pdf 文件图标。我怎样才能做到这一点?

4

5 回答 5

1

您可以使用 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

于 2013-04-03T08:02:49.593 回答
0

在线搜索PDF图标,然后下载

<a href=file.pdf><img src=pdficon.jpg> test book</a>
于 2013-04-03T07:58:05.867 回答
0

您可以使用以下内容:

<a href="/files/testbook.pdf"> <img src="path_to_image" alt="Textbook"/> </a>

它将图像显示为链接。当您单击图像时,浏览器将开始下载 PDF 或在浏览器中显示 PDF。

于 2013-04-03T07:59:15.563 回答
0

你可以用 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;
}
于 2013-04-03T08:04:13.363 回答
0

正如@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。

于 2013-04-03T08:04:16.533 回答