AzurePHP: загрузка в BLOB-объект с помощью диалога? - PullRequest
0 голосов
/ 06 января 2012

Я новичок в PHP, так что это, вероятно, очень тривиальная задача:

Сейчас я загружаю файлы в большой двоичный объект из скрипта, не позволяя пользователю выбрать конкретный файл:

$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".

Буду признателен за любые советы.

1 Ответ

2 голосов
/ 06 января 2012

Я могу встречаться (и мои навыки php здесь), но это просто вопрос выбора / загрузки файла, как вы это обычно делаете. Затем вы просто передаете файл из его временного местоположения в контейнер BLOB-объектов с помощью кода, который вы уже выложили. Вы можете найти пример загрузки файла на http://www.tizag.com/phpT/fileupload.php

Я подготовлю для вас пример кода на выходных (просто не хватает времени сегодня).

Обновление от 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.";
}
...