一尘不染

如何从PHP表单将图像上传到Google云端存储?

sql

我目前正在使用一个php应用程序将图像上传到Google云存储平台,但是,与在我的本地服务器上不同,我在确定如何使这项工作方面遇到了很大的麻烦。

这正是我想做的事情:

  1. 将图像的路径写入我的Google Cloud SQL
  2. 实际将图像上传到Google云存储平台
  3. 从保存的SQL路径编写一个调用图像的脚本,然后发布到我的网站

谁能指出正确的方向?

谢谢!


阅读 197

收藏
2021-03-10

共1个答案

一尘不染

像这样的事情对我来说适用于GAE上的表单-如果设置了文件夹权限,则通过php将表单中的照片通过php上传到Google云端存储…

// get image from Form
$gs_name = $_FILES["uploaded_files"]["tmp_name"]; 
$fileType = $_FILES["uploaded_files"]["type"]; 
$fileSize = $_FILES["uploaded_files"]["size"]; 
$fileErrorMsg = $_FILES["uploaded_files"]["error"]; 
$fileExt = pathinfo($_FILES['uploaded_files']['name'], PATHINFO_EXTENSION);

// change name if you want
$fileName = 'foo.jpg';

// put to cloud storage
$image = file_get_contents($gs_name);
$options = [ "gs" => [ "Content-Type" => "image/jpeg"]];
$ctx = stream_context_create($options);
file_put_contents("gs://<bucketname>/".$fileName, $gs_name, 0, $ctx);

// or move 
$moveResult = move_uploaded_file($gs_name, 'gs://<bucketname>/'.$fileName);

调用该图像以显示在您的站点上的脚本是典型的mysqli或pdo方法来获取文件名,并且可以使用…显示该图像。

<img src="https://storage.googleapis.com/<bucketname>/<filename>"/>
2021-03-10