Google应用程序引擎,PHP:$\u文件数组为空-尝试了其他人在此处提出的所有建议

Google应用程序引擎,PHP:$\u文件数组为空-尝试了其他人在此处提出的所有建议,php,file,google-app-engine,post,Php,File,Google App Engine,Post,这是我的第一篇文章。我已经读了好几篇关于这个问题的帖子。到目前为止,还没有人能解决我最基本的问题。我一定是错过了关于php.ini或app.yaml的一些东西,或者我真的必须在谷歌云存储中创建一个“bucket”,只是为了在一个页面上选择一个文件并将其传递给另一个页面?我被卡住了。任何帮助都将不胜感激 调用表单“import.php”: <form action="import_action.php" method="POST" enctype="multipart/form-data"&

这是我的第一篇文章。我已经读了好几篇关于这个问题的帖子。到目前为止,还没有人能解决我最基本的问题。我一定是错过了关于php.ini或app.yaml的一些东西,或者我真的必须在谷歌云存储中创建一个“bucket”,只是为了在一个页面上选择一个文件并将其传递给另一个页面?我被卡住了。任何帮助都将不胜感激

调用表单“import.php”:

<form action="import_action.php" method="POST" enctype="multipart/form-data">
<table>
    <tr><td><input type="file" name="import_file" size="2000000"></td></tr>
    <tr><td><input type="submit" name="import" value="Import File"></td></tr>
</table>
</form>

提前谢谢。

您应该使用
CloudStorageTools::createUploadUrl()
作为表单的“action”属性:

是否在php.ini中将
upload\u tmp\u dir设置为合理的值?在我匆忙中,我没有注意到当我选择ascii文件时,$\u POST会被填充,但当我选择二进制文件时,$\u POST是空的$_文件总是空的。这可能是一个线索,可以引导我去哪里错了。好问题!我转储了phpinfo()-upload\u tmp\u fir=没有值。。。这就是上传tmp目录。这就引出了一个问题:我是否应该继续尝试设置一个谷歌云存储“存储桶”。入门教程没有这么多内容,但它们建议,任何文件操作都需要一个放置它们的位置。。。我不知道上传的文件会放在这个服务器(呃,云)的什么地方。首先,我将尝试在php.ini中分配一个相对路径语句来上传\u tmp\u dir…Hm。尝试在php.ini中设置upload_tmp_dir(比如:upload_tmp_dir=/tmp)不会产生任何效果-phpinfo()显示的值从无值变为无值。当我进一步阅读文档时,我怀疑如果不设置一个为应用程序提供上传空间的帐户,这是行不通的。我已经分配了个人GCS空间,但我认为它与此应用程序无关。
<html>
  <head>Import Action</head>
  <table>
    <tr><td>$_POST: <? var_dump($_POST); ?></td></tr>
    <tr><td>$_FILES: <? var_dump($_FILES); ?></td></tr>
  </table>
</html>
output_buffering = on
google_app_engine.enable_functions = "phpversion, phpinfo"
track_vars = true
register_globals = true
enable_post_data_reading = true
file_uploads = on
upload_max_filesize = 20M
post_max_size = 30M