首页 文章

Google App Engine空表单上传字段提交问题

提问于
浏览
1

我正在使用Google Cloud 端存储制作我的第一个PHP Google App Engine应用程序 .

我有一个包含很少上传字段的表单 . 一旦我使用一个字段上传图像并保持其余字段为空,就会在我的 Cloud 存储桶中创建一个垃圾文件,用于那些我没有上传任何图像的字段 . 这就是我的表格的样子

<form method="post" class="admin" action="<?PHP echo $postUrl; ?>" enctype="multipart/form-data">
<input type='file' name='image1'>
<input type='file' name='image2'>

<input type='submit' name='submitBttn' value='submit'>
</form>

我使用 CloudStorageTools::createUploadUrl 方法得到 $postUrl . 哪个工作正常,一旦表单被提交, var_dump($_FILES) 在我上传的字段中显示值,空的值显示空值,错误代码为4,这意味着不使用该字段上传文件 . 在我的 Cloud 存储桶中如何制作包含未知图像的垃圾文件 .

我该如何阻止这种情况发生?如果无法停止,如何从存储桶中删除它? ($ _FILES ['image2'] ['tmp_name']和$ _FILES ['image2'] ['name']是空的,所以我不知道如何在不知道图像名称的情况下获取publiUrl .

谢谢!

1 回答

  • 2

    看起来像两个合法的错误:1)如果没有移动,所有临时上传的文件应该被取消链接(删除)(默认机制不起作用,因为它使用的系统解除链接不处理gs://,因为在用户空间中定义),2)在PHP中,空文件不会写入临时目录,但 Cloud 存储代理默认创建它们,因此应更新App Engine PHP运行时以删除它们 .

    根据文档,http://www.php.net/manual/en/features.file-upload.post-method.php

    The file will be deleted from the temporary directory at the end of the request if it has not been moved away or renamed.
    

    努力修复并希望在下一个版本中使用它 .

相关问题