Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: суперглобальный массив $_FILES

Сообщения:  [1-10]   [11-17] 

 
 автор: sim5   (08.02.2009 в 20:06)   письмо автору
 
   для: jenvlasov   (08.02.2009 в 18:49)
 

А зачем он вам, даже на локальном сервере? Если вам так охота этот путь получить на сервере, то нужно воспользоваться услугами JS, получив у input type=file значение атрибута value, и передав его на сервер скрытым полем формы. Но еще раз повторяю - он вам совсем не к чему.

  Ответить  
 
 автор: jenvlasov   (08.02.2009 в 18:51)   письмо автору
 
   для: jenvlasov   (08.02.2009 в 18:49)
 

ДЛя примера возьмем тот же путь к файлу E:\шаблоны\008\008.jpg

  Ответить  
 
 автор: jenvlasov   (08.02.2009 в 18:49)   письмо автору
 
   для: sim5   (08.02.2009 в 05:44)
 

Тогда подскажите как быть при работе с локальным сервером,расположенным у меня на компьютере.Как передать из формы,оснащенной кнопкой Обзор,т.е(<input type=file name=kartinka>)исходный путь к файлу (путь к файлу до его загрузки на локальный сервер(который расположен на диске С или Z)-например файл первоначально хранился на диске E или D-файлу-обработчику,чтобы он,например,вывел этот путь на экран.Я попробовал воспользоваться вашими рекомендациями по массиву $_SERVER-но данный массив работает только с документами, расположенными на сервере.$_FILES-возвращает только имя файла,а не его путь

  Ответить  
 
 автор: sim5   (08.02.2009 в 05:44)   письмо автору
 
   для: jenvlasov   (07.02.2009 в 22:52)
 

Просто запомните простую вещь - у клиента на компьютере локальные пути, но путь, например, E:\Шаблоны\008\ может быть у клиента А, а у других клиетов даже диска Е может не быть, не говоря уже о папке "Шаблоны\008\". Это означает, что указав такой путь в качестве доступа к изображению, это изображение смог бы видеть только пользователь А, а другие нет.
Путь "E:\Шаблоны\008\" используется браузером только лишь для того, чтобы знать, от куда взять данные для отправки формой. А доступ для всех пользователей будет осуществляться из одного для всех места, по одному и тому же пути, и этот путь для них будет сетевым:
http://domain/path/filename.ext
Только не давайте в качестве путей (path) русских наименований да еще с пробелами, в различном регистре. Большой необходимости в этом нет, а головной боли будет меньше.

  Ответить  
 
 автор: jenvlasov   (07.02.2009 в 22:52)   письмо автору
 
   для: sim5   (07.02.2009 в 18:10)
 

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

  Ответить  
 
 автор: sim5   (07.02.2009 в 18:10)   письмо автору
 
   для: jenvlasov   (07.02.2009 в 17:53)
 

Путь к файлу на компьютере клиента вам совсем не нужен. Изображение от клиента будет загружено сперва в tmp кталог сервера, от куда вы его обязаны переместить. А вот тут, используйте пути сервера, а не клиента (потому и не нужен он вам). Путь вы можете указывать абсолютный (формируете с помощью $_SERVER), либо относительный (от корневой папки своих документов на сервере).

  Ответить  
 
 автор: jenvlasov   (07.02.2009 в 18:02)   письмо автору
 
   для: jenvlasov   (07.02.2009 в 17:53)
 

Конечно $_FILES['kartinka']['name'] содержит только оригинальное имя файла на компьютере клиента.Но как же путь к файлу,есть ли какие-нибудь способы предотвращения его потери?

  Ответить  
 
 автор: jenvlasov   (07.02.2009 в 17:53)   письмо автору
 
   для: sim5   (07.02.2009 в 10:44)
 

Хорошо,с этим понятно.Как выводить картинки -я тоже разобрался,устранив ошибки.У меня такой вопрос:у меня есть форма:

<form method="POST" name="forma" action="add.php" enctype="multipart/form-data">
Путь:<br>
<input type="file" name="kartinka"><br><br>
<input type=submit name="button" value="Добавить"><br><br>
</form>

нажимая на кномпку Обзор..,я получаю список файлов.Выбрал один из них,допустим на диске E, получил к нему путь, например:"E:\Шаблоны\008\8.jpg",отсылаю этот путь файлу-обработчику add.php,который обрабатывает этот путь так:
как я понял в add.php переданный путь из формы присваивается элементу многомерного суперглобального массива $_FILES['kartinka']['name'].Для проверки я вывел этот элемент на экран и получил следующее:"8.jpg"НЕ понял,куда делся :E:\Шаблоны\008\,ведь моя задача -выводить исходный путь к картинке 8.jpg - E:\Шаблоны\008\. Где моя ошибка?

  Ответить  
 
 автор: sim5   (07.02.2009 в 10:44)   письмо автору
 
   для: nikita2206   (07.02.2009 в 10:43)
 

Если бы знал, не писал бы.

  Ответить  
 
 автор: nikita2206   (07.02.2009 в 10:43)   письмо автору
 
   для: sim5   (07.02.2009 в 04:07)
 

да это походу он знает
Для jenvlasov:
вместо всей этой ***, пишите так: $dir = $_SERVER['DOCUMENT_ROOT'].'/mashins/foto/';

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования