今天终于弄懂了sae的storage怎么使用。
因为sae不支持文件权限设置,所有的代码文件都是不可数的。但是sae提供了特别好的一个分布式文件存储服务,用来存放持久文件。其实就是用来存放网站的素材文件,如图片,文件等等的。
所以,当需要存储文件数据的时候,可以使用使用sae。
使用sae一共有两种方案。
官方提供的一种方案是:
使用官方的storage类,直接可以进行文件操作,如存放文件,删除文件,修改文件等等。
还有一种方法是我在sae的应用商店看到的,里面有一个合成的wordpress for sae。
我们可以看到详细的代码,我现在将自己简单的测试代码贴到下面:(只为实现storage,不适用于开发场景)
代码如下 | |
$domain = "test"; $upload_dir = "saestor://" . $domain . "/qiao1/2/3/4/5/"; if(!is_dir($upload_dir)) { //mkdir($upload_dir , 0777); } if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . " "; } else { echo "Upload: " . $_FILES["file"]["name"] . " "; echo "Type: " . $_FILES["file"]["type"] . " "; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb "; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } if(move_uploaded_file($_FILES["file"]["tmp_name"],$upload_dir . $_FILES["file"]['name'])) { echo 'ok'; } //mkdir($upload_dir . 'qiao' , 0777); ?> |
我们可以直接使用move_uploaded_file函数将临时文件上传。要注意的是第二个参数$upload_dir=”saestor://” . $domain . “/” . $dir。
其中,$domain就是storage中创建的storage服务名称。$dir就是要存放的目录。
如要将文件存放在saestor://mydomain/dir1/dir2/dir3/下。可以直接使用该url,而不需要使用mkdir函数进行创建,因为stotage已经将该目录自动进行了创建。