这是我的第 1 篇文章。我已经阅读了几篇关于这个问题的帖子。到目前为止,还没有解决我非常基本的问题。我一定遗漏了一些关于 php.ini 或 app.yaml 的内容,或者我真的必须在 Google Cloud Storage 中创建一个“存储桶”才能在一个页面上选择一个文件并将其传递给另一个页面?我被困住了。任何帮助将不胜感激。
调用表格,'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>
...选择了一个文件。按下“导入文件”按钮。
POST 调用的表单,“import_action.php”:
<html>
<head>Import Action</head>
<table>
<tr><td>$_POST: <? var_dump($_POST); ?></td></tr>
<tr><td>$_FILES: <? var_dump($_FILES); ?></td></tr>
</table>
</html>
输出,“import_action.php”:
导入操作
$_POST: array(1) { ["import"]=> string(11) "导入文件" }
$_FILES: array(0) { }
我相信 GAE 正在以某种方式处理该文件,因为当我选择一个大于规定限制的文件时,$_POST 被弄脏并为空。此外,当我选择一个大文件时,显示调用的表单“import_action.php”会出现明显的时间延迟。
在其他平台上,这只是工作。我没有设置的配置选项是什么?
这是 php.ini,在 GAE 中是一组覆盖:
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
先感谢您。