2011-05-02 61 views
1

我无法上传使用Photoshop和PDFTK创建的pdf文档。其他pdf文件正在上传没有任何问题。将pdf文件上传到Mysql服务器

我收到以下警告:

fread():提供的参数不是在

警告一个 有效的流资源:fclose():提供的参数 是不是一个有效的流资源

回答

2

我不会建议将PDF上传到MySQL - 您必须将其保存为BLOB,然后读取BLOB。这会使数据库迅速膨胀并导致速度问题。

而是将PDF上传到文件系统,然后将PATH保存到MySQL中的PDF中。然后你可以从MySQL读取这条路径。

但是,如果你绝对需要将文件保存为BLOB - 这里是一个很好的教程,这样做: http://bytes.com/topic/php/insights/740327-uploading-files-into-mysql-database-using-php

+1

@Avisra,在数据库中保存的一个好处是,你不能失去应有的那些文件重命名等,因此保存在数据库中可能是一个好主意,在这个问题上意见不一。性能明智,但你是对的。 – Johan 2011-05-02 17:38:08

+0

对不起,我只通过将BLOB保存为BLOB来上传它们。这里的问题是我上传从Photoshop和PDFTK创建的PDF时出现警告。 – Sanch 2011-05-02 17:43:15

+0

这是一个很好的观点。我见过内容管理系统(如Sitefinity)使用相同的方法。它将文档保存为BLOB,然后将它们读入。真正很酷的是支持它的某种缓存系统。如果文件内容或路径尚未更改 - 从服务器上的缓存文件读取。否则,从MySQL读入BLOB并重新缓存它。 – Avisra 2011-05-02 17:45:56