用PHP将Dropbox文件内容存储到变量中
我需要你的帮助,因为我陷入困境,谷歌没有提供任何解决方案。我试图通过官方的Dropbox API读取.txt文件的内容。到目前为止还不错,但在我看来并不漂亮。必须有一种简单的方法将文件内容直接存储到数组/字符串变量中 到目前为止,我得到的是一个在Web服务器上使用临时文件的解决方案:用PHP将Dropbox文件内容存储到变量中,php,dropbox-api,Php,Dropbox Api,我需要你的帮助,因为我陷入困境,谷歌没有提供任何解决方案。我试图通过官方的Dropbox API读取.txt文件的内容。到目前为止还不错,但在我看来并不漂亮。必须有一种简单的方法将文件内容直接存储到数组/字符串变量中 到目前为止,我得到的是一个在Web服务器上使用临时文件的解决方案: $tempFile = fopen("tempOnWebserver.txt", "w+"); $fileMetadata = $dbxClient->getFile("/someFileOnDropbox.
$tempFile = fopen("tempOnWebserver.txt", "w+");
$fileMetadata = $dbxClient->getFile("/someFileOnDropbox.txt", $tempFile);
fclose($tempFile);
$fileContent = file_get_contents("tempOnWebserver.txt");
因此,我只想编写$dbxClient->getFile(“/someFileOnDropbox.txt”,“$fileContent”)
并跳过解决方法,但这当然是不可能的(:有什么方法可以得到它吗
有关Dropbox getFile函数,请参阅。您可以使用以下命令执行此操作,而无需实际写入文件: 这并不能真正简化您的程序,但至少可以在不在服务器上编写任何实际文件的情况下进行
您还可以扩展Dropbox
Client
类来封装此功能:
class YourClient extends \Dropbox\Client
{
public function getFileContents($filename)
{
$stream = fopen('php://memory', 'r+');
$this->getFile("/someFileOnDropbox.txt", $stream);
rewind($stream);
$fileContents = stream_get_contents($stream);
fclose($stream);
return $fileContents;
}
}
我看不到任何其他方式,因为Dropbox SDK除了向文件写入之外没有提供任何其他功能。该函数正在向
resource
类型的内容写入(通常是文件)。难道没有机会创建这种类型的变量吗?ressource是一个引用外部ressource的特殊变量。所以没有,没有机会。太糟糕了:/谢谢!这就是我一直在寻找的:)我会尝试制作一个报告。我必须通过构造函数更改类,但现在它工作起来很有魅力!添加了公共函数uu构造($accessToken){parent::u构造($accessToken,“ClientIdentifier”);}
class YourClient extends \Dropbox\Client
{
public function getFileContents($filename)
{
$stream = fopen('php://memory', 'r+');
$this->getFile("/someFileOnDropbox.txt", $stream);
rewind($stream);
$fileContents = stream_get_contents($stream);
fclose($stream);
return $fileContents;
}
}