0

我的天蓝色 blob 存储中有一个 txt(纯文本)文件。现在我想把它拿出来处理数据。我能做的是下载带有直接路径的文件,它可以正常工作并返回我上传的文件。

使用普通.txt文件(不是在 blob 中,而是在网站上),它工作得很好,但是 blob 文件并没有给我我需要的东西。该代码显示了它如何处理非 blob 文件。

$file = $myData->ContentURI;
$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
echo $theData;
fclose($fh);

现在我想要相同(或相似)的代码来读取 blob txt。我确定该文件确实存在,因为我可以下载它。


编辑:

设法自己修复它,我用以下代码更改了上面提到的代码:

$file = $myData->ContentURI;
echo file_get_contents($file);
4

1 回答 1

1

您可以尝试以下任一代码:

选项 1:读取流

<?php
$blobUrl = "your blob's URL";
$fh = fopen($blobUrl, 'r');
$data=''; 
$size=102400;
while(!feof($fh)) 
    $data.=fread($fh,$size); 
fclose($fh); 
echo $data;
?>

选项 2:使用 file_get_contents 读取 URL

<?php
$blobUrl = "your blob's URL";
$theData = file_get_contents($blobUrl);
echo $theData;
?>
请确保包含 blob 的 blob 容器没有“私有”ACL。它应该具有“Blob”或“Container”ACL。您可以在此处阅读有关 ACL 的更多信息:http://msdn.microsoft.com/en-us/library/windowsazure/dd179354.aspx。如果您希望将 blob 容器保持私有,则必须使用共享访问签名来创建临时 URL 以从 blob 容器中读取 blob。您可以在此处阅读有关共享访问签名的更多信息:http://msdn.microsoft.com/en-us/library/windowsazure/hh508996.aspx。
于 2013-03-11T11:30:17.450 回答