PDA

Просмотр полной версии : Символ / не воспринимается как значение.


MINASTIS
29.08.2006, 10:31
Скажите пожалуйста как мне решить такую проблему. Вот я хочу сделать галерею фоток с автоматической загрузкой. Но проблему в том что мне надо из оргомного пути к файлу выдрать само имя. Я делаю так:

<html><body><form action='testingphp.php'><input name='path' type='file'><br><input value='ok' name='submit' type='submit'></form></body></html>
<?php
if (isset($submit)) {
$path2 = $path;
$array = explode("/", $path2);
$picn = sizeof($array)-1;
echo substr($array[$picn],0,strlen($array[$picn])-1);
}
?>

Это тестовый код для вывода самого имени файла. Выводится имя файла только если он в интернете. Потому как там знак в пути такой: /.
А нужно сделать чтобы explode делил по знаку такому: \. Не получается так как по ходу php воспринимает этот знак как деление двух переменных. Каким образом мне разделить строку разделителем \ ?
Или каким образом мне выдрать имя файла из всего пути (учитывая что там кавычки слева и справа).

Skubent
29.08.2006, 12:28
0. Вкурить маны про строки в php.
1. Сообразить, почему \ отличается от /.
1.1. Не нести бред про "по ходу", читать мануал.
2. Почитать мануал про basename

Constantine
29.08.2006, 21:29
А, вообще, кто сказал что вот это: <input name='path' type='file'> каким-то образом передает путь к файлу на локальной машине?
Может, стоит подробнее почитать на тему "POST method uploads" и про массив $_FILE и, наконец, отключить register_globals...

Skubent
29.08.2006, 22:25
Упс, не понял, откуда ноги растут. Константин прав. Но вообще мануал почитать надо, да.

x2com
30.08.2006, 22:24
Почитай про функцию pathinfo() или basename(). Можно удобно извлекать части адреса...
ЗЫ- А, вообще, кто сказал что вот это: <input name='path' type='file'> каким-то образом передает путь к файлу на локальной машине?
Может, стоит подробнее почитать на тему "POST method uploads" и про массив $_FILE и, наконец, отключить register_globals...Да, и Constantine между прочим прав...