我是PHP的新手,所以这可能是一项非常重要的任务:
现在我正在从脚本中将文件上传到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”操作上遇到了一些麻烦。
任何提示都会非常感激。
答案 0 :(得分: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.";
}