【问题标题】:How to set the mime type of a file with fwrite in PHP?如何在 PHP 中使用 fwrite 设置文件的 mime 类型?
【发布时间】:2011-09-12 17:13:59
【问题描述】:

我需要创建一个 .xls 文件并为其分配正确的 mimetype。一个简单的header() 语句不起作用可能是因为我使用的是 PHPGtk。

MSOffice 在打开文件时给我一个错误,它说内容可能不反映文件的扩展名,所以我立即认为这可能是因为 mime 类型。

目前,代码是(在一个非常畸形的 html sn-p 中):

$table = '<table><thead><tr><th>Oi</th></tr></thead><tbody><tr><td>opaopaopa</td></tr><tr><td>sjiasiaj</td></tr></tbody></table>';
      $handle = fopen('C:\opa.xls','w+');
      fwrite($handle, $table);
      fclose($handle);

【问题讨论】:

  • 此代码不需要 MIME 类型,因为文件已写入磁盘。您是否打算通过浏览器将文件输出给用户?
  • @George 不,文件将写入磁盘,不涉及浏览器。

标签: php mime-types fwrite php-gtk


【解决方案1】:

在 Windows 上,文件没有 mime 类型。它们仅由其扩展名来标识。

【讨论】:

  • 我问这个问题是因为MSOffice在打开文件时给我一个错误,它说内容可能不反映文件的扩展名,所以我立即认为这可能是因为mime类型。
  • @jorge:那是因为您正在编写一个 html 文件(没有正确的 &lt;html&gt;&lt;body&gt; 标签,但将其命名为 .xls。
  • @Jorge:如果您将这些信息放在您的问题中,这将对每个人都有利。我不是在批评。这只是一个想法。
  • @Marc 是的,但我可以将 mime 设置为其他任何东西,这样 Office 就不会抱怨了吗?
  • 不在文件本身上。您可以尝试将 &lt;meta&gt; 标记放入 &lt;head&gt; 块中,但我不知道 Windows 或 Office 在决定吐出该错误之前是否会深入查看文件
猜你喜欢
  • 2013-01-20
  • 2015-06-16
  • 2011-04-18
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多