php - 调整目录结构,同时重命名所有文件以表示其原始路径

标签 php windows linux zend-framework azure

我正在考虑将 Zend Framework 存储在 Microsoft Azure Blob 存储上。 Azure Blob 存储具有平面文件系统,而 Zend Framework 具有深层嵌套结构。

我想使用以下命名约定/方法创建一个包含所有 Zend Framework 文件的文件夹。

例如:Zend_Log_Writter 类存储在:

库/Zend/Log/Writer.php

在新的平面输出文件夹中,文件将被命名为:

Zend.Log.Writter.php

我将使用任何能够在 Linux 或 Windows 上完成这项工作的工具。我可以编写一个 PHP 脚本来执行此操作,但我猜测有一个 Linux Foo 可以通过一些链接命令来完成我所追求的任务。

最佳答案

如果我正确地阅读了这个问题,听起来您正在尝试将文件系统映射到 Windows Azure 存储中的各个 blob。您需要某种类型的中间层来将请求的文件映射到单个 blob(并且 php 有一个非常强大的 SDK 您可以用于访问 blob)。关于 blob 的一个更正:它并不完全平坦:URI 将是 https://mystorageaccount/containername/blobname 。您有一个 native 目录(容器),然后您可以使用 Pekka 提供的链接的技术来模拟更多级别。

但是:对我来说,这种映射听起来可能会产生性能影响以及事务影响。

作为替代方案,为什么不在 Windows Azure 页 blob 中装载 NTFS 格式的云驱动器?您的驱动器最大可达 1TB,可通过驱动器号访问。它很耐用(意味着在数据中心内进行三重复制),并且允许您在其中安装几乎所有内容(例如 Zend 的文件目录结构)。设置起来非常简单 - 可能只有十几行代码。

云驱动器的一个警告:只有一名作者。将 Web 应用程序扩展到多个实例时,您必须牢记这一点。有一些解决方法(例如每个实例有一个云驱动器),并利用缓存(例如最近投入生产的新 AppFabric 缓存)。

编辑:这是一个 great Cloud Drive sample作者:Maarten Balliauw,演示了创建/分配/安装云驱动器所需的步骤。

关于php - 调整目录结构,同时重命名所有文件以表示其原始路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005273/

相关文章:

php - Codeigniter、Restful API 以及如何使用 key

c++ - 如何设置在 Windows 登录屏幕上打开应用程序的按钮

linux - Plone 统一安装程序缺少 Python

linux - YCM 生成器中的 PROJECT_DIRECTORY 在哪里

linux - GAWK 中的 "Is in"条件

php - 将数据库从一台服务器转移到另一台服务器

php - 模板读取 : Database query or File reading? 什么比较贵

php - 从一个数据库中的多个表中选择最新记录(MYSQL PHP)

android - Windows 和 BlackBerry 图标大小和像素密度

c++ - endl 不适用于 wstring (unicode)