在drupal中上传图像错误


Error Uploading images in drupal

我试图上传一个自定义徽标到我的drupal站点,它运行在IIS 8和PHP上。
我得到了以下上传错误:


" Warning: move_uploaded_file(temporary://logo.png): failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed in drupal_move_uploaded_file() (line 1642 of C:'inetpub'wwwroot'drupalfull'includes'file.inc). Warning: move_uploaded_file(): Unable to move 'C:'Windows'Temp'php25C3.tmp' to 'temporary://logo.png' in drupal_move_uploaded_file() (line 1642 of C:'inetpub'wwwroot'drupalfull'includes'file.inc). File upload error. Could not move uploaded file." 请帮帮我。我在IIS上设置了读和写权限,但仍然不起作用

创建sites/default/files/tmp文件夹并赋予完全权限(777),并将'临时目录'更改为admin/config/media/file-system

我认为它解决了你的问题。

问候。

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

您可以按照本文的步骤5和6进行操作。创建文件夹:

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

    创建文件夹:

C: ' inetpub ' wwwroot ' Drupal>医学网站默认' '文件

http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/install-drupal-on-iis

您的问题很可能是drupal内部的权限问题。由于您使用的是windows系统,您需要确保文件夹sites/default/文件对IIS服务器具有可写权限。将权限配置为所有用户可写,看看它是否有效,然后逐步限制权限,直到您感到舒适。

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

基本上,在Windows上,PHP的默认上传文件夹是C:'Windows'Temp.作为Drupal上传的一部分,它将文件从PHP上传文件夹移动到Drupal Temporary//:文件夹。但是在PHP中有一个问题,PHP可执行文件需要对上传文件的完整路径具有读权限,所以C:'Windows'Temp.如果没有给出,它将出错并且文件不会被移动。

详情见http://php.net/manual/en/function.realpath.php,这是Drupal上传文件代码深处的一个函数调用。

我的解决办法是在其他地方创建一个文件夹,比如C:'PHPTemp,并修改PHP的设置(会话)。Save_path和upload_tmp_dir)指向这个文件夹。在给予IIS_IUSRS完全控制权之后(过度杀戮?可能!),然后我就可以上传图片了!