基于url PHP创建文件夹树结构

Ben*_*enn 1 php github mkdir

我从git中提取一些原始文件内容并在我的网站上显示这些内容.因此,我不会在每次加载时ping github,而是将这些文件内容缓存到一个简单的txt文件中.

一切都很好,花花公子.但是我将它们全部缓存到同一个文件夹中.

我想要做的是从这个URL创建实际的文件夹树

https://raw.githubusercontent.com/octocat/Spoon-Knife/master/index.html
Run Code Online (Sandbox Code Playgroud)

这样我的缓存文件就会被保存为

octocat
--Spoon-Knife
---master
----test.txt
Run Code Online (Sandbox Code Playgroud)

是否有基于url创建此类文件夹结构的快速方法?谢谢!

Dan*_*jel 5

我认为这应该有效,它使用parse_url()函数提取目录结构,并创建嵌套目录(如果它们尚不存在).

$url = 'https://raw.githubusercontent.com/octocat/Spoon-Knife/master/index.html';

$path = parse_url( $url, PHP_URL_PATH );
$dir = __DIR__ . dirname($path) . '/';

if ( !file_exists( $dir ) ) {
    mkdir( $dir, 0777, true );
}
Run Code Online (Sandbox Code Playgroud)