SAE的storage服務(wù)使用方法

字號:


    今天終于弄懂了sae的storage怎么使用。
    因?yàn)閟ae不支持文件權(quán)限設(shè)置,所有的代碼文件都是不可數(shù)的。但是sae提供了特別好的一個(gè)分布式文件存儲服務(wù),用來存放持久文件。其實(shí)就是用來存放網(wǎng)站的素材文件,如圖片,文件等等的。
    所以,當(dāng)需要存儲文件數(shù)據(jù)的時(shí)候,可以使用使用sae。
    使用sae一共有兩種方案。
    官方提供的一種方案是:
    使用官方的storage類,直接可以進(jìn)行文件操作,如存放文件,刪除文件,修改文件等等。
    還有一種方法是我在sae的應(yīng)用商店看到的,里面有一個(gè)合成的wordpress for sae。
    我們可以看到詳細(xì)的代碼,我現(xiàn)在將自己簡單的測試代碼貼到下面:(只為實(shí)現(xiàn)storage,不適用于開發(fā)場景)
    代碼如下:
    <html>
    <body>
    <form action="" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" />
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
    </body>
    </html>
    <?php
    $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"] . "<br />";
    }
    else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    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函數(shù)將臨時(shí)文件上傳。要注意的是第二個(gè)參數(shù)$upload_dir=”saestor://” . $domain . “/” . $dir。
    其中,$domain就是storage中創(chuàng)建的storage服務(wù)名稱。$dir就是要存放的目錄。
    如要將文件存放在saestor://mydomain/dir1/dir2/dir3/下??梢灾苯邮褂迷搖rl,而不需要使用mkdir函數(shù)進(jìn)行創(chuàng)建,因?yàn)閟totage已經(jīng)將該目錄自動進(jìn)行了創(chuàng)建。