Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: substr & str_replace ошибка с "\\"
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » substr & str_replace ошибка с "\\"

Страниц (1): [1]
 

1. Nof1000 - 30 Апреля, 2011 - 06:50:25 - перейти к сообщению
Вообщем такая трябля:

Как пример!
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $path = "c:\ololo\test\ololo2\file.test";
  5. $path2 = "c:/ololo/test/ololo/file.test";
  6.  
  7. function currentFileName($fileName){
  8.   $strbuf = strrev($fileName);
  9.  
  10.   $strbuf = str_replace("\\", "/", $strbuf);
  11.  
  12.   $pos = strpos($strbuf,'/');
  13.   if (($pos == false) || ($pos == 0)){
  14.     return false;
  15.   }
  16.   else {
  17.     $strbuf = (substr($strbuf,0,$pos));
  18.     return strrev($strbuf);
  19.     }
  20. }
  21.  
  22. echo currentFileName($path);
  23. echo '<br>';
  24. echo currentFileName($path2);
  25. ?>
  26.  


Выдает:
ololo2 ile.test
file.test

Из-за чего возникает данная так скажем ошибка???
Как заметил данная ошибка и в substr и такого же типа.
(Добавление)
Ох нубский мой мозг =_= не заметил а верней забыл что \t к примеру не катит =_= Модераторы удалите тему
2. Uchkuma - 30 Апреля, 2011 - 11:39:10 - перейти к сообщению
Nof1000 пишет:
$strbuf = strrev($fileName);
return strrev($strbuf);
Зачем сия манипуляция?
И функция basename не для вашей задачи предназначена?
3. OrmaJever - 30 Апреля, 2011 - 12:11:53 - перейти к сообщению
а вы посмотрите на посветку синтаксиса форума у $path
Видите \t и \f подсвечиваются? Дак вот в двойных кавычках (") это спец символы
\f - разрыв страницы.
\t - табуляция.
Что бы этого небыло нужэно либо экранизировать обратный слеш либо юзать одинарные кавычки (')

 

Powered by ExBB FM 1.0 RC1