PHP: Get absolute path from absolute URL

前端 未结 4 1629
闹比i
闹比i 2020-12-10 06:43

I have an absolute path of a file, Is there a way to get the file absolute path

http://domainname/rootfolder/filename.php

and I wanna get s

相关标签:
4条回答
  • 2020-12-10 07:18

    Try $_SERVER['DOCUMENT_ROOT']. Assuming a URL like

    http://example.com/subfolder/somefile.html
    

    and the file's actual location on the server being

    /home/sites/example.com/html/subfolder/somefile.html
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- $_SERVER['DOCUMENT_ROOT']
    
    0 讨论(0)
  • 2020-12-10 07:22

    This is the easiest way:

    $path = parse_url('http://domainname/rootfolder/filename.php', PHP_URL_PATH);
    
    //To get the dir, use: dirname($path)
    
    echo $_SERVER['DOCUMENT_ROOT'] . $path;
    

    That'll print you the full path.

    Documentation:

    parse_url

    DOCUMENT_ROOT

    dirname

    0 讨论(0)
  • 2020-12-10 07:23

    You can use the parse_url function to get the local part of the URL.

    Converting that into a file path then requires that you know where the document root of the webserver is. If it is the same server as the one the page is running on, then you can usually get that from $_SERVER['DOCUMENT_ROOT'].

    It also depends on there being nothing preventing the URL from not being a direct mapping onto a file system (such as mod_rewrite, mod_alias, URIs being routed through an MVC framework, etc). For example, for a system I'm working on at the moment, if you were to hit http://example.com/blog/2012/01/01/ then the files involved would be /home/user/recall/script/recall.psgi and /home/user/recall/root/blog/day.tt but the DocumentRoot would be /home/user/recall/htdocs/)

    0 讨论(0)
  • 2020-12-10 07:27

    try

    $filepath = $_SERVER['DOCUMENT_ROOT'].'/rootfolder/filename.php'
    

    this may help you.

    0 讨论(0)
提交回复
热议问题