2014-03-05 14 views
2

在我的本地谷歌應用程序引擎服務器(1.9.0)(PHP 5.4.6-1ubuntu1.7)我總是得到message/external-body作爲上傳文件的MIME類型和tmp_name不有gs://包裝,因爲它應該。例如:php谷歌應用程序引擎在本地開發服務器上傳文件

[type] => message/external-body [tmp_name] => /tmp/phpFbTDzF 

應在何處(如在生產應用程序引擎):

[type] => text/plain [tmp_name] => gs://coscms-bucket/L2FwcGhvc3Rpbmcy... 

文件上傳的地方,但它僅僅是很難測試它,當你沒有得到正確的文件名(gs://)。

部署時,我得到上傳文件的正確MIME類型。這裏是我的測試腳本:

<?php 

use google\appengine\api\cloud_storage\CloudStorageTools; 

$bucket = 'coscms-bucket'; 

if (!empty($_FILES)) { 
    print_r($_FILES); 
} 


$options = [ 'gs_bucket_name' => $bucket ]; 
$upload_url = CloudStorageTools::createUploadUrl('/test.php', $options); 
?> 
<form action="<?php echo $upload_url?>" enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
Files to upload: <br> 
<input type="file" name="uploaded_files" size="40"> 
<input type="submit" value="Send"> 
</form> 

回答

2

我們正在開發的一個php-cgi的二進制與Linux SDK,將解決這個問題分發。

在此之前,如果您可以在Mac或Windows上進行測試,它可以在開發環境中正常工作。

+0

兩年過去了,現在的版本是1.9.35,問題依然存在。任何更新? – AVIDeveloper

+0

https://github.com/GoogleCloudPlatform/appengine-php-extension –

+0

不是我所期望的開箱即用的谷歌產品解決方案。無論如何,我已經切換到在Windows下運行服務器。謝謝。 – AVIDeveloper

相關問題