Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имя файла из полного пути, Как взять его 
V
    Опции темы
atlant1s
Дата 8.12.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2007
Где: Одесса

Репутация: нет
Всего: нет



Нужен код, который будет из строки типа:
C:\WINDOWS\system32\calc.exe
брать имя файла с разширением и выводить его. То есть на экран нужно будет вывести calc.exe

Помогите, пожалуйста  smile
PM MAIL ICQ Skype   Вверх
gta4kv
Дата 8.12.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Код

<?php

$string = "C:\WINDOWS\system32\calc.exe";
$estring = explode('\\', $string );
echo $estring[ sizeof( $estring ) - 1 ]; // выводит calc.exe

?>

PM MAIL   Вверх
atlant1s
Дата 9.12.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 17.10.2007
Где: Одесса

Репутация: нет
Всего: нет



Спасибо большое! smile  Я делал так:
Код

$str="C:/WINDOWS/system32/calc.exe";
$reg="(.(.+\/)+(.+)";
$a=ereg($reg, $str, $x);
echo "===$a<br>";
for ($i=0;$i<count($x);$i++)
     echo "$x[$i]<br>";


Выводило calc.exe, но слеш не в ту сторону в моём случае.

Это сообщение отредактировал(а) atlant1s - 9.12.2007, 00:31
PM MAIL ICQ Skype   Вверх
kasmanaft
Дата 9.12.2007, 09:47 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Эм... используйте basename($string)  smile 
PM MAIL   Вверх
FCCStepan
Дата 12.12.2007, 06:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 31.10.2007

Репутация: нет
Всего: нет



gta4kv

$string = "C:\WINDOWS\system32\calc.exe";
$estring = explode('\\', $string );

интресно почему же в эксплоде ты указываешь \\
а внутри самой строки везде просто \ 
?
что то мне подсказывает что либо строка должна быть
$string = "C:\\WINDOWS\\system32\\calc.exe";
либо не будет он выводить calc.exe


PM MAIL   Вверх
gta4kv
Дата 12.12.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



FCCStepan, +1 к Feldmarschall, у меня все правильно ;) ты проверь а потом говори
PM MAIL   Вверх
skyboy
Дата 12.12.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



FCCStepan, ты наполовину неправ - в коде
Код

$estring = explode('\\', $string );

один слеш просто заэкранировал бы вторую одинарную кавычку(как в случае с '\'' - это строковая константа в которой хранится одна одинарная кавычка). потому второй слеш указывает, что мы не кавычки экранируем, а храним слеш.
Цитата(gta4kv @  12.12.2007,  08:18 Найти цитируемый пост)
у меня все правильно ;) ты проверь а потом говори 

не, не правильно. ты тоже наполовину неправ. при указании строк в двойных кавычках пары символов с впереди идущим слешем обрабатываются, как специальные(\n,\t,\r и некоторые другие). просто в приведенной тобой строке все символы после слеша не являются "спец-парой".
для своего примера вставь
Код

$string = "C:\WINDOWS\system32\notepad.exe";

будешь удивлен выводу(только смотреть надо в коде страницы, браузер перенос строк при выводе вне тегов <pre></pre> игнорирует):
Цитата

system32 
otepad.exe 

что говорит о том, что пара символов "\n" обработалась, как перенос строк. а не как два отдельных символа.
в одинарных же кавычках не происходит ни определение "спецпар", ни парсинг переменных по именам. 
т.е. если бы в приведенном мною примере было бы:
Код

$string = 'C:\WINDOWS\system32\notepad.exe';
, т.е. использование одинарных кавычек, то проблемы бы не было.
PM MAIL   Вверх
SelenIT
Дата 12.12.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Цитата(kasmanaft @  9.12.2007,  09:47 Найти цитируемый пост)
используйте basename

+1, а еще (чисто для полноты выбора) pathinfo smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
SamDark
Дата 12.12.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



Поставил галку.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0885 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.