Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在drupal中上载图像时出错_Php_Drupal_Drupal 7 - Fatal编程技术网

Php 在drupal中上载图像时出错

Php 在drupal中上载图像时出错,php,drupal,drupal-7,Php,Drupal,Drupal 7,我试图将一个自定义徽标上传到我的drupal站点,该站点使用PHP在IIS 8上运行。 我收到以下上载错误: “警告:移动上传的文件”(temporary://logo.png):无法打开流:“DrupalTemporaryStreamWrapper::stream\u open”调用在drupal\u move\u uploaded\u file()中失败(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。 警告:移动上载的文件(

我试图将一个自定义徽标上传到我的drupal站点,该站点使用PHP在IIS 8上运行。
我收到以下上载错误:
“警告:移动上传的文件”(temporary://logo.png):无法打开流:“DrupalTemporaryStreamWrapper::stream\u open”调用在drupal\u move\u uploaded\u file()中失败(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。
警告:移动上载的文件():无法将“C:\Windows\Temp\php25C3.tmp”移动到temporary://logo.png'在drupal\u move\u上载的\u file()(C:\inetpub\wwwroot\drupalfull\includes\file.inc的第1642行)。
文件上载错误。无法移动上载的文件。“

请帮帮我。我已经在IIS上设置了读写权限,但它仍然不起作用。

创建sites/default/files/tmp文件夹并授予完全权限(777),并在admin/config/media/filesystem中更改“临时目录”

我想它解决了你的问题


问候。

您的问题很可能是drupal内部的权限问题。由于您使用的是windows系统,因此需要确保文件夹站点/default/文件具有IIS服务器的可写权限。将权限配置为可供所有用户写入,查看其是否有效,然后逐步限制权限,直到您感到满意为止

如果您正在运行ISS8(web服务器),则文件路径与Unix的默认路径不同。 确保在Drupal中的设置中正确设置了临时文件夹,并且该文件夹具有写入权限

您可以在第5步和第6步中阅读本文。 创建文件夹:

Drupal使用Sites\Default\Files目录存储临时文件,因此必须能够写入和修改此文件夹中的文件

  • 创建文件夹:
  • C:\inetpub\wwwroot\Drupal>md站点\default\files


    我要在这里放另一个答案,因为我保证我会忘记我是如何修复它的

    基本上,在Windows上,PHP的默认上载文件夹是C:\Windows\Temp。作为Drupal上载的一部分,它将文件从PHP上载文件夹移动到Drupal临时/:文件夹。然而,PHP中存在一个问题,即PHP可执行文件需要对上传文件的完整路径具有读取权限,因此C:\Windows\Temp。如果未给出此选项,则会出错,并且不会移动文件

    详细信息是在Drupal的上传文件代码中进行的函数调用


    我的解决办法是在别处创建一个文件夹,比如C:\PHPTemp,然后修改PHP的设置(session.save_path和upload_tmp_dir)以指向该文件夹。在给予IIS_IUSRS完全控制权(可能是过度杀戮!)之后,我就可以上传图像了

    对不起,你能详细说明一下吗,因为我是php的新手,配置/媒体/文件系统是你后台的选项。必须创建tmp文件夹,并且路径必须与后台配置匹配