【问题标题】:HTTP wrapper does not support writeable connections WordPress [duplicate]HTTP包装器不支持可写连接WordPress [重复]
【发布时间】:2015-07-09 15:52:04
【问题描述】:

所以我收到此错误并到处搜索是有原因的。从我读过的内容来看,这段代码应该可以工作。它不是使用 url 来写入文件,而是使用相对路径。所有文件权限都设置为755,所以不要认为这是问题所在。我什至让插件开发人员查看了它,但他没有发现问题。有人知道为什么会发生此错误吗?

错误:

`Warning: move_uploaded_file(http://************/wp-content/uploads/simpleecommcart/digitalproduct/13-1.jpg): failed to open stream: HTTP wrapper does not support writeable connections in /home/***********/public_html/wp-content/plugins/simple-e-commerce-shopping-cart/models/SimpleEcommCartProduct.php on line 880`

`Warning: move_uploaded_file(): Unable to move '/tmp/phpyv2ztG' to 'http://***********/wp-content/uploads/simpleecommcart/digitalproduct/13-1.jpg' in /home/stagingpeak/public_html/wp-content/plugins/simple-e-commerce-shopping-cart/models/SimpleEcommCartProduct.php on line 880`

上传代码(出错的地方我写了880):

    //check for product image upload 
    if(strlen($_FILES['product']['tmp_name']['image_upload']) > 2) {
      $dir = SimpleEcommCartSetting::getValue('product_folder');
      if($dir) {
        $filename = preg_replace('/\s/', '_', $_FILES['product']['name']['image_upload']);
        $path = $dir . DIRECTORY_SEPARATOR . $filename;
        $src = $_FILES['product']['tmp_name']['image_upload'];
 880-->     if(move_uploaded_file($src, $path)) {
          $_POST['product']['product_image_path'] = $filename;
        }
        else {
          $this->addError('Product Image File Upload', __("Unable to upload file","simpleecommcart"));
          $msg = "Could not upload file from $src to $path\n". print_r($_FILES, true);
          throw new SimpleEcommCartException($msg, 66101);
        }
      }
    }

【问题讨论】:

  • $dir 包含什么?我认为它不包含您认为的内容
  • $dir 正在获取要上传图片的文件夹的设置值。 (第二行)
  • 是的,但它包含什么
  • 只是路径http://************/wp-content/uploads/simpleecommcart/digitalproduct
  • 是的,您认为您将如何通过 http 移动文件?

标签: php


【解决方案1】:

HTTP 包装器不允许写入(有充分的理由),因此这不会以您希望的方式工作,您需要一个允许写入的流,例如:

(最好)文件:http://php.net/manual/en/wrappers.file.php

FTP:http://php.net/manual/en/wrappers.ftp.php

来源:http://php.net/manual/en/wrappers.http.php

【讨论】:

  • 我对此有点困惑,或者如何解决它。几个月前它还在工作,我认为除了我所在的服务器之外没有任何变化(所以也许 PHP 版本不同?)
  • move_uploaded_file($_FILES['product']['tmp_name']['image_upload'], $path)) 也不是正确的方式吗?不同的是我的代码将$_FILES['product']['tmp_name']['image_upload'] 存储在var $src
猜你喜欢
  • 1970-01-01
  • 2013-12-08
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多