0

localhost: にこの URL がhttp://localhost:7777/somesite/sites/default/files/devel-7.x-1.5.zipあり、取得したいc:\xampp\htdocs\somesites\default\files\devel-7.x-1.5.zip.

この質問で述べたようにPHP: Get absolute path from absolute URL :

 $path = parse_url($url, PHP_URL_PATH);
 echo $_SERVER['DOCUMENT_ROOT'] . $path;

上記のスニペットにより、ファイルの実際のパスを取得できるはずです。残念ながら、これは機能していません。印刷すると、 の代わりに が$path返されます。これは私がそれを実行しているからでしょうか?$urlsomesites\default\fileslocalhost:7777

4

3 に答える 3

0

サーバー変数を使用してこれを行うことができます。

echo $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
于 2015-08-21T07:59:34.883 に答える
0

試す

$path = parse_url($url);
echo str_replace('/', "\\", $_SERVER['DOCUMENT_ROOT'].$path['host'].$path['path']);
于 2015-08-21T08:00:42.547 に答える
0

これは正しい URL が parse_url 関数に渡されていないために発生している可能性があります。parse_url 関数に渡す前に $url 値を出力し、適切な値が出力されているかどうかを確認します。$url でhttp://http://localhost:7777/http://localhost:7777/somesite/sites/default/files/devel-7.x-1.5.zipのようなものを渡している可能性があります。 parse_url が $url を処理すると、元の $url が返されます。

お役に立てれば :)

于 2015-08-21T08:04:28.697 に答える