Почему функция basename не работает с обратным слэшем

  • Автор темы Автор темы Соколов Станисл
  • Дата начала Дата начала

Соколов Станисл

Guest
Почему функция basename не работает с обратным слэшем

эта строка обрабатывается правильно C:/FOR_REDACTIRI/sl25u.jpg

а вот эта не обрабатывается
C:\FOR_REDACTIRI\sl25u.jpg
после выполнения функции basename строка остается такойже, проблема в том что форма присылае строку с обратными слэшами
 
ничего не мешает, но при таком же скрипте другого сайта (расположен на том же сервере) форма возвращает строку с прямыми слэшами
 
nagash
это ты показал как менять обратный слэш на прямой, а я говорю про то что форма отправляет строку то с прямыми то с обратными слэшами
 
и?
в обоих случаях меняй...
и всё будет замечательно...
или ты хочешь начать придумывать себе проблемы...
тогда задавай конкретные вопросы...
мой ответ целиком и полностью решает твою проблему.
 
tony2001
форма передает следующее:
C:\\FOR_REDACTIRI\\sl25u.jpg
PHP:
$var = $_POST['userfile'];
$var_red = basename($var);
$var_red содержит C:\\FOR_REDACTIRI\\sl25u.jpg

Уже все работает правильно, но мне непонятно почему форма передает строку с двумя слэшами и почему basename отказывается ее обрабатывать, в документации не написано что она не умее работать с обр слэшем...
В принципе это не критично, но хотелось бы понять почему так
 
да, действительно на НЕ-виндовсах такой синтаксис basename не поддерживается.
я выясню почему так и почему это не документировано.
 
я ошибся, это документировано:
На платформах Windows в качестве разделителей имен составляющих пути используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).
используй str_replace и basename после него.
 
мне непонятно почему форма передает строку с двумя слэшами
ответ можно прочесть в [f]slashes[/f]
НАСТОЯТЕЛЬНО екомендую тебе прочесть ВСЕ разделы FAQ.
Тому есть две причины:
1. Там всего чтения на 10 минут.
2. На этом форуме правилами запрещено задавать вопросы, освещенные в FAQ.

Ту причину, что в FAQ освещены базовые вопросы, скоторыми тебе придется столкнуться в в обязательном порядке, и прочтение сэкономит тебе кучу времени, я непривожу, как несущественную.
 
Сверху