当前位置: 首页 > 知识库问答 >
问题:

FPDF错误:无法创建输出文件

司马自明
2023-03-14

我在使用PHP上传脚本时遇到了这个奇怪的问题。希望能得到别人的帮助。

以下是此问题的详细信息:

文档的根是“/var/www/html”

PHP上传到名为"/var/www/html/上传"的文件夹效果很好

有另一个目录托管不同的网页在"/var/www/html/文件夹"相同的PHPupload.sh脚本不能上传文件到"/var/www/html/目录/文件夹"目录。

文件夹权限已设置为0777到"/var/www/html/目录/文件夹"和"/var/www/html/上传"两个文件夹中使用相同的上传脚本。

下面的值设置在两个文件夹中的upload.php中。

$uploads = $_SERVER['DOCUMENT_ROOT'] . "folder/uploads/files/"

我尝试设置绝对路径$上传如下,但没有工作:

$upload_dir = "/var/www/html/files/"

上载失败,出现以下错误:

Message: fopen(var/www/html/folder/uploads/files/filename.pdf): failed to open stream: No such file or directory
FPDF error: Unable to create output file:(/var/www/html/folder/uploads/files/filename.pdf)

任何想法,为什么服务器不允许upload.php从"/var/www/html/文件夹"写入"/var/www/html/文件夹/上传/"目录。

在任何日志文件中找不到相关消息。

=============================================================

它表示PHP无法在/var/www/html/folder/uploads/files/中使用mkdir。

创建目录的一段代码是:

  $uploadPath = "folder/uploads/files/";
  $dir = $_SERVER['DOCUMENT_ROOT'] . $uploadPath;

    if (!is_dir($dir)) @mkdir($dir, 0777);
    return $uploadPath;

你知道为什么用上面的mkdir代码这样做是不可行的吗?

非常感谢。

共有2个答案

巫经义
2023-03-14

对于那些面临类似问题的人,我的问题在添加递归标志后得到了解决。我的mkdir命令更改如下:

来自:

if (!is_dir($dir)) @mkdir($dir, 0777);

到:

if (!is_dir($dir)) @mkdir($dir, 0777, true);
潘胤
2023-03-14

确保文件/var/www/html/folder/uploads/files/filename。运行脚本时,pdf不会在任何位置打开。如果它在其他地方打开,则TCPDF无法打开它。

 类似资料:
  • 问题内容: 我正在为我的项目使用fpdf库,并且正在使用它来扩展drupal模块之一。这些线 给我一个错误: FPDF错误:已经输出了一些数据,无法发送PDF 我尝试在drupal区域名称test.php之外的单独文件中创建此文件,并在查看时起作用。这里有人知道为什么这行不通吗?或者这里的任何人都可以为我指出一个正确的pdf库,我可以在drupal中使用它来查看HTML到PDF格式。 问题答案:

  • 问题内容: 尝试从服务创建共享首选项文件时出现以下错误: “无法为SharedPreferences文件/dbdata/databases/dimappers.android.pub/shared_prefs/PubStore2.xml创建目录” 我正在使用Samsung Galaxy S I9000进行测试,并且已阅读有关此款手机问题的其他地方。但是,我发誓它在正常活动中的某些时候正常工作(尽管

  • 我使用NetBeans 8.0和JDK 1.8以及MySQL驱动程序5.1.31。 虽然清理和构建输出窗口显示错误- xml文件中第893行显示-

  • 问题内容: SQL相当新,我希望将一些数据从MySQL数据库导出到csv文件中。我在本地(本地主机)工作。 这是我的SQL语句: MySQL返回以下错误: 无法创建/写入文件“ C:UsersMartinDownloads esult.csv”(错误代码:22) 谢谢你的帮助。 问题答案: 看起来反斜杠可能会影响命令。尝试使用“ \\”而不是“ \”。

  • 问题内容: 我将我的MySQL数据库插入WAMP服务器时遇到了麻烦。我打算发布模式的图像,但这是我不能的第一篇文章。 下面是执行的脚本。 但是然后我得到这个错误: 我不知道为什么。谁能帮我? 问题答案: 我迅速搜寻了你,它把我带到了这里。我引用: 如果您尝试添加名称已经在其他地方使用的约束,则会收到此消息 要检查约束,请使用以下SQL查询: 在此处查找更多信息,或尝试查看错误发生的位置。看起来像是

  • 问题内容: 我看到很多关于写入SD卡的帖子,但是我相信我的问题有所不同。在建立AVD的过程中,我无法创建SD卡。 我最初尝试使用Android SDK和AVD Manager来执行此操作,选择 名称 :my_avd 目标 :Android 2.2-API级别8 SD卡 :大小:1024 MiB 皮肤 :内置:默认(HVGA) 硬件 :属性:抽象的LCD密度,值:160 这会弹出一个窗口,并显示以下