Проблема преобразования строки пути из "/", "\" - PullRequest
2 голосов
/ 27 марта 2010

я получил этот код

$ current_path = str_replace ('\', '/', getcwd ()); // C: // XAMPP / htdoc

Почему это не удалось заменить '\' на '/' в директории patch? почему и как решить эту проблему?

РЕДАКТИРОВАТЬ Этот код используется для возврата пути (или что-то подобное) для использования с базой HTML TAG.



$current_path = getcwd();

function get_basepath() { 
    global $current_path; 

    $current_path  = str_replace('\\', '/', $current_path );                        // C:\xampp\htdocs\php\gettingstarted  

    $cur_root = $_SERVER['HTTP_HOST'];              // localhost
    $cur_docroot = $_SERVER['DOCUMENT_ROOT'];       // C:/xampp/htdocs/
    $cur_filepath = $_SERVER['SCRIPT_FILENAME'];    // C:/xampp/htdocs/php/gettingstarted/index.php 
    $filepath = str_replace($cur_docroot, '', $current_path);

    return "http://$cur_root/" . $filepath . "/";       // http://localhost/php/gettingstarted/index1.php 
} 

Ответы [ 4 ]

7 голосов
/ 27 марта 2010

Вам нужно использовать двойное \, поскольку \ экранирует следующий символ. :)

$current_path = str_replace('\\', '/', getcwd());
1 голос
/ 27 марта 2010
$current_path = str_replace('\\', '/', getcwd()); //c://xampp/htdoc
1 голос
/ 27 марта 2010

Это Синтаксис строки PHP вопрос, и вам вообще не нужна эта замена.

1 голос
/ 27 марта 2010

Используйте \\ вместо \ как:

 $current_path = str_replace('\\', '/', getcwd()); 

\ используется для экранирования символа с особым значением. Теперь \ сам по себе является символом с особым значением, поэтому избегайте его с другим \, как \\, чтобы получить литерал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...