【问题标题】:Google Cloud Storage Error on Upload - strpos(): Empty needle上传时出现 Google Cloud Storage 错误 - strpos():空针
【发布时间】:2014-02-28 00:46:00
【问题描述】:

将文件上传到 Google Cloud Storage(通过我在应用引擎上运行的应用)时,我收到以下 PHP 警告

Warning: strpos(): Empty needle in /base/data/home/runtimes/php/sdk/google/appengine/ext/cloud_storage_streams/CloudStorageStreamWrapper.php on line 168

我按照官方指南使用了<form action="<?php echo $upload_url?>,然后做了一个基本的操作

$gs_name = $_FILES["uploaded_files"]['tmp_name'];
move_uploaded_file($gs_name, "gs://my_bucket/new_file.ext");

有谁知道这是为什么,有人可以帮忙解决这个问题吗?

【问题讨论】:

  • 您能否指定您正在使用的 SDK 版本和/或从该文件中发布第 168 行上方和下方的 2-3 行?拉取 1.8.8 和 1.8.9 sdks 我在第 168 行或附近看不到 strpos()。

标签: php google-app-engine google-cloud-storage


【解决方案1】:

同样的问题...看起来像一个错误,在本地(最新)版本的 SDK 不同代码中。 作为一种解决方法,我使用copy($_FILES["uploaded_files"]['tmp_name'], "gs://my_bucket/new_file.ext") + unlink($_FILES["uploaded_files"]['tmp_name']),它可以工作:)

【讨论】:

    【解决方案2】:

    Needle 是 PHP strpos 函数调用它的第一个参数(大海捞针)。 $gs_name 变量的值为空。原因可能是上传表单存在差异。

    尝试在PHP Direct uploads to Google Cloud Storage via HTTP POST 中返回一步,并暂时将您的 PHP 上传处理程序改回:

    var_dump($_FILES);
    

    输出可能与预期不同,并可能表明上述表格的哪个部分负责。

    【讨论】:

    • 我做到了,正如预期的那样。这里没问题
    猜你喜欢
    • 2019-10-14
    • 2013-06-16
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多