Обработка PHP <input=file>

friend123

Guest
Обработка PHP <input=file>

У меня вопрос: я хочу обработать форму с файлом средствами ПХП и мне надо в поле ввода расположения файла ввести последний загруженный файл. Я зная, что в input поле value не работает, что же делать?
 

Кром

Новичок
>Я зная, что в input поле value не работает, что же делать?

Ничего не делать.
 

friend123

Guest
Ну как-то можно ведь заполнить поле ввода
 

Кром

Новичок
>Ну как-то можно ведь заполнить поле ввода

Это нарушение безопасности. Так что оставь эту идею.
 

crocodile2u

http://vbolshov.org.ru
Originally posted by friend123
Я зная, что в input поле value не работает?
Не понял вопроса . Ты знаешь, что это не работает, и хочешь, чтобы заработало?

ИМХО, единственное, что ты можешь сделать, это примерно следующее:

непосредственно перед сабмитом формы записывать value твоего инпута-файла в хидден-поле (скажем, userpath).

когда выдаешь юзеру форму, если в _GET (ну или _POST, если ты редирект не делаешь) есть непустой элемент userpath, выдаешь его значение рядом с инпутом, так что юзер может методом копи-пасте заполнить инпута-файл. Однако, изврат какой-то...
 

friend123

Guest
Ладно input я опустил, но возник другой вопрос:
есть файл, например 21.txt. Работаю с помощью того же input (заполняю сам). Жму на кнопку и включается в работу скрипт-обработчик. Так как я могу выцарапать значение 21 и записать его в переменную?
 

Фанат

oncle terrible
Команда форума
http://ru3.php.net/features.file-upload

-~{}~ 31.08.04 13:21:

то есть,имя файла выцарапывать ниоткуда не надо.
если тебе надо отделить имя от расширения, то или basename или стандартными строковыми функциями
 

friend123

Guest
Да, мне надо отделить имя файла от расширения и записать в переменную. Подскажите функции какие-нибудь

-~{}~ 31.08.04 13:30:

Все спасибо, решил вопрос

-~{}~ 31.08.04 13:42:

Не, все равно ерунда. Использовал basename(), имя файла выдает примерно такое: вместо имени квадрат
 

Фанат

oncle terrible
Команда форума
ч тоже не шучу. ВПЕРВЫЕ слышу, чтобы basename рисовала какие-то квадраты.
Может быть, дело и не в ней вовсе, а?
 

friend123

Guest
вот пример кода:

<?php
$path = "/home/httpd/html/index.php";
$file = basename ($path); // $file содержит "index.php"
$file = basename ($path,".php"); // $file содержит "index"
?>
 

Кром

Новичок
friend123 зачем ты приводишь код из мануала? ты за кого тут всех держишь?
 

friend123

Guest
Ой, виноват. Это не я, это windows(убить билла). Всего один слеш пропустил(из 4) и все

-~{}~ 31.08.04 14:06:

Вот по ходу опять возник вопрос:
<FORM action="proc.php?action=load" method="POST">
<INPUT type=file name=file>
<INPUT type="submit" value="Грузить">
</FORM>

Как получить из формы ЧИСТОЕ имя файла, если использовать upload, то к файлу прибавляется tmp и получается tmp21.txt
 

Кром

Новичок
Все написано по ссылке, которую ты, видимо, спокойно проигнорировал. С такой формой, кстати, ты никакого файла не загрузишь. Почему, написано по той же ссылке.
 

friend123

Guest
Почему не получить??? Я уже получил, все работает
 

Кром

Новичок
>Почему не получить??? Я уже получил, все работает

Это иллюзия, что все работает.
 

friend123

Guest
Так нет правда работает, без багов, получил, что и хотел: только имя без расширения
 

Фанат

oncle terrible
Команда форума
он, действительно, имеет имя. только имя, без файла.
 
Сверху