2012-01-06 34 views
0

我是新來的PHP所以這可能是一個超級簡單的任務:AzurePHP:通過對話上傳到Blob?

現在我將文件上傳到從腳本內的斑點,而不允許用戶選擇特定文件:

$result = $storageClient->putBlob('testcontainer', 'example.txt', 'C:/example.txt'); 
// Syntax: putBlob (ContainerName, NameInStorage, FileLocation) 

我想爲用戶提供三個輸入框,以便他/她可以一次將三個文件上傳到blob。事情是這樣的:

//GetFile1Location(); 
//GetFile2Location(); 
//GetFile3Location(); 


$result = $storageClient->putBlob('testcontainer', 'example.txt', 'File1Location'); 
$result = $storageClient->putBlob('testcontainer', 'example.txt', 'File2Location'); 
$result = $storageClient->putBlob('testcontainer', 'example.txt', 'File3Location'); 
// Syntax: putBlob (ContainerName, NameInStorage, FileLocation) 

我看W3Schools的教程文件上傳,但我想我需要的是選擇一個文件,並拉動其路徑的一種手段; putBlob似乎負責實際的上傳。我只是對「GetFileLocation」操作有點麻煩。

任何提示將不勝感激。

回答

2

我可能正在約會自己(和我的PHP技能在這裏),但它應該只是做文件選擇/上傳的問題,就像你通常一樣。然後,您只需通過已經佈置的代碼將文件從臨時位置傳輸到blob容器中即可。你可以在http://www.tizag.com/phpT/fileupload.php

找到一個上傳文件的例子。我會在週末爲你準備一個代碼示例(現在根本沒有時間)。

1月20日更新 對不起,花了這麼長時間,但這是承諾的代碼示例。

require_once('Microsoft/AutoLoader.php'); 

if (!empty($_FILES['userfile']['name'])) 
{ 
    $container = 'sampleblobs'; 
    $filename = "somefolder/".$_FILES['userfile']['name']; 

    $blobStorageClient = new Microsoft_WindowsAzure_Storage_Blob(); 
    $blobStorageClient->createContainerIfNotExists($container); 

    $blobStorageClient->putBlob(
     $container, // container name 
     $filename, // name in storage 
     $_FILES['userfile']['tmp_name'], // object to upload 
     array('createdby' => 'CodeMash', 'FileType' => 'jpg') // metadata 
    ); 

    echo "<br>file uploaded."; 
} 
+0

啊,這是一個很大的幫助。你不需要爲我寫代碼,但是謝謝你提供。我想我快到了;如果我無法弄清楚,我會和它搏鬥並再次發佈。謝謝布倫特:)。 – SB2055 2012-01-06 15:03:47

+1

我正在爲下週在Azure + PHP上展示的會話進行演示。我會加入這個。:) – BrentDaCodeMonkey 2012-01-06 21:31:59