![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Beast45 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Здравствуйте увожаемые знатоки php!
Есть такой код для загрузки файла на сервер в определенную папку: Код формы (index.php):
Код скрипта обработки формы (load.php):
Суть проблеммы в следующем - можно ли из
Заранее спасибо!!! |
||||||
|
|||||||
| Veve |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
Пользуйся функцией print_r( ); для вывода содержимого массива:
тогда сможешь увидеть, что интересующая тебя информация находится след. образом:
|
||||
|
|||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
А ты его не вытащишь. Оно же заливается в посте на сервер, там во временный файл запихивается. Это только если js скриптом глянуть что там в инпуте делается, перед отправкой на сервер
|
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Это выводит /tmp\php7.tmp Если нельзя вытащить этот путь, можно ли как нибудь обойти это решение? Мне необходимо загружать файл на сервер (файл выбирается с локального компа) и занести в переменную физический путь к файлу (физический путь, также на локальном компе, а не на сервере) Добавлено через 7 минут и 10 секунд Физический путь нужен для дальнейшей обработки файла локально через php (тобишь его конвертация и занесение упрощенного кода в БД) Добавлено через 12 минут и 45 секунд пробовал без атрибута формы enctype="multipart/form-data", тогда путь к файлу достается нормально, а вот сам файл не загружается на сервер(( Можно сделать так чтобы при выборе файла (Обзор...) оно автоматически заносилось в две формы, чтобы не вводить его дважды.... |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
можно средствами js, обрабатывать событие onchange
|
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
lelik133, можешь привести примерчик обработчика события onchange
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Планировать свои веб-приложения надо с учетом реального положения дел, а не фантастических представлений.
Сервер не знает о клиенте ни-че-го. Следовательно, "дальнейшую обработку файла локально через php" с учетом "физического пути" на клиенте не надо было планировать изначально. А сейчас надо переделывать, а не биться головой о заведомо нереальный вариант. Учитывая, что миллионы веб-сайтов во всем мире как-то обходятся без такой жизненно необходимой информации, как "физический путь" загружаемого файла, я уверен, что решение найдется и здесь. Это сообщение отредактировал(а) Ипатьев - 15.9.2009, 09:04 |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Мне и не требуется, чтобы сервер знал, физический путь этого файла.
У меня происходит два действия с одним и тем же файлом: 1. Загрузка файла на сервер. 2. Скрипт вытаскивания из Word'овского документа чистого кода для дальнейшего вывода его на страничку сайта через БД. (но для этого нужен физический адрес, чтобы на локальном компе прошли все необходимые преобразования). По отдельности работает и то и другое. Можно конечно сделать две формы для указания одного и тогоже файла для работы по двум направлениям, но получится некрасиво((( |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Если все нужные операции происходят локально. То. Почему. Вопрос. Задан. В. Разделе. "PHP: Общие вопросы"?
|
|||
|
||||
| Beast45 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Извини, если не там тему создал, но не часто обращаюсь с вопросами, поэтому и создал в разделе ОБЩИЕ ВОПРОСЫ
Добавлено через 3 минуты и 36 секунд
Вот таким образом достать можно физический пьту к файлу, но тогда через эту форму я не смогу его загрузить на сервер((( Можно ли сделать так, чтобы в форме выбирать файл для загрузки на сервер, а в другой форме он автоматически вводился в поле и, допустим, передавались из обоих форм в обработчик. Из первой формы загружаемый файл (/tmp\...), а из второй формы физический путь. lelik133 предложил использование onchange, помагите, что нужно прописать? |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Дело не в том, в каком разделе тема создана.
А в том, о чем человек думает, когда что-то делает. Тема создана в разделе "общие вопросы по PHP". А к локальному компьютеру РНР не имеет никакого, ни малейшего отношения. Это, хотя бы, понятно? Перед тем, как что-то делать, сначала надо подумать. Так вот сейчас надо спрашивать не "что нужно прописать", а "о чем мне подумать". Что означает загадочная фраза "чтобы на локальном компе прошли все необходимые преобразования"? Что за комп? Что за преобразования? Это сообщение отредактировал(а) Ипатьев - 15.9.2009, 09:43 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
Beast45, ответьте пожалуйста на один вопрос: ваш локальный комп на котором должны происходить операции с вордовским документом - это сервер ,на который происходит загрузка документа или это компьютер пользователя, на которов вы хотите провести все операции и сохранить изменения?
|
|||
|
||||
| Beast45 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Ребята, то что я написал локальные преобразования, поясню. Через php у меня организовано загрузка Word, открытие документа, обработка , сохранение и все это конечно же производится на обычном домашнем компе. То есть так называемый doc2html. Для этого необходимо указывать полный путь, где у меня на компе находится этот файл.
И этот же файл мне нужно еще и загрузить на сервер. Так что, на счет "о чем мне подумать" - это не в тему, все уже обдумано и реализовано. Добавлено через 6 минут и 47 секунд Код формы (index.php):
Код скрипта обработки формы (load.php):
Вроде бы вот так должно прокатить |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
откуда тогда вопросы? Beast45, даже если у вас и пользователь и сервер в одном комплекте на одном компе, смешение клиентских и серверных путей ни к чему хорошему не приведёт. делайте как все - загрузили файл на сервер, переместили его в нужню вам директорию, так и оперируйте с полученным серверным путём. Это сообщение отредактировал(а) bars80080 - 15.9.2009, 10:21 |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Скажите, не будит проблемм с таким копирование на сервер?
Добавлено через 1 минуту и 24 секунды пользователь и сервер ни в коем случае не в одном комплекте |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
миллионы сайтов так делают, функционал налажен бесчисленное количество раз. ошибки могут появиться только от программиста Добавлено через 1 минуту и 10 секунд тогда повторяю вопрос: |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Попробую поэкспериментировать с copy(). Спасибо.
Добавлено через 3 минуты и 23 секунды это компьютер пользователя... Добавлено через 4 минуты и 42 секунды но это все для админки сайта, поэтому пользователь - это администратор, а не любой пользователь. Добавлено через 8 минут и 25 секунд Пользователь, зайдя на сайт будит видеть страничку с текстом документа (то что у меня обрабатывается локально на компе с помощью php скрипта и результат кода документа сохраняется в БД - из которой в свою очередь и будут формироваться странички на сайте) и возможность скачать этот документ (то что я и пытаюсь загрузить на сервер). Добавлено через 13 минут и 16 секунд не пойму только в чем разница скопировать файл copy() на сервер или загрузить его через форму с атрибутом enctype="multipart/form-data". Или форму необходимо применять для пользователей, которые хотят загрузить файл на сайт? А самому можно смело применять copy()? |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Фух. Каша в голове однако.
1. Файл загружается на сервер через форму. ТОЧКА. 2. Файл перемещается в нужный каталог на сервере при помощи функции move_uploaded_file(). ТОЧКА. 3. Путь используется только один. Тот который вы указываете для move_uploaded_file(). |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Забавный топик.
Напоминает анекдот. Вызывают Гагарина в ЦК КПСС. - Партия решила, что советские космонавты должны полететь на Солнце! - Но как же туда лететь - ведь корабль сгорит! - Вы думаете, в ЦК дураки сидят? Мы обо всем подумали: вы полетите ночью! Beast45, у администратора, который файл заливает, на компьютере стоит программа doc2html? |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
ыы))
"все уже обдумано и реализовано" )))) - громко сказано)))) но все же идея есть, вот пытаюсь ее реализовать... так что не судите сильно)) пытаюсь разобраться... doc2html этой программы нет. Я поднимал вопрос на форуме, но ничего дельного небыло. Поэтому пришлось с нуля написать скрипт преобразующий код вордовского документа в нормальный код, без излишиств. Поэтому администратору, заливающему файл не надо ничего преобразовывать, а тупо выбрать файл, который он хотит загрузить, а уж php все сделает сам. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
следующий вопрос.
для чего программе, работающей на одном компьютере(сервере), нужен путь к файлу на другом компьютере(администратора)? |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
поясните пожалуйста разницу в:
1. копирование файла на сервер с помощью copy() . 2. загрузка файла через форму с атрибутом enctype="multipart/form-data". или тут разница только в возможности выбора файла? |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Разница в том, что копирование файла на сервер с помощью copy() - смешная фантазия.
|
|||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Ипатьев, как метко подметил)
Beast45, научитесь различать, где клиент, а где сервер |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
вроде все подробно рассказал, что, как и для чего.... 1. Администратор со своего компа (допустим домашниго) заходит на сайт в админку. 2. Администратору необходимо добавить документ на сайт. 3. Он в форме нажимает ОБЗОР..., находит нужный фал, в строке отображается путь к файлу, жмет ЗАГРУЗИТЬ, файл загружается на сервер. В САМОМ НАЧАЛЕ ТОПИКА НЕОБХОДИМО БЫЛО ДОСТАТЬ ФИЗИЧЕСКИЙ АДРЕС, которы выводится как раз в форме, чтобы передать его php скрипту, который преобразует этот документ с код и поместит его в БД!!! 4. Теперь, когда пользователь заходит на страницу сайта - он видит текст (это преобразованный вордовский документ для отображения на страничке) и ссылку на документ, который закачен на сервер. Вот как-то так)))) |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
из 10 строк "подробного объяснения" нет ни одной, которая бы отвечала на вопрос:
для чего php скрипту, работающему на одном компьютере(сервере), нужен путь к файлу на другом компьютере(администратора)? |
|||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Ипатьев, видно же, ему это не надо
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Впрочем, я, кажется, уже сам понял.
чтобы программа с сервера обратилась на компьютер администратора, и там взяла файл для обработки. |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
то есть php скрипт, работающий на сервере (agava) не будит работать с файлом, который находится на компе? То есть его предварительно надо загрузить на сервер и уже там с ним работать?
Чета я запутался((( Работаю с Denwer'ом - я думал, что он выполняет работу сервера.((( |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
NewDima, о, так вы единственный, который понял, что ему надо?
Не жадничайте, поделитесь же скорее с остальными! |
|||
|
||||
| Simpliest |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Да путает человек все. Просто у него и сервер и компьютер администратора это одна машина сейчас.
Так вот необходимо осознать, что сервер в реальности не имеет никакого доступа к машине администратора. И все делается на сервере. Которому абсолютно до одного места физический адрес файла у администратора. Вы сами должны решить куда положить этот файл на сервере, и именно это место и будет физическим адресом. Добавлено через 54 секунды
Да
Да |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Ипатьев, думаю здесь то понятно?) Как сказал Simpliest, он все путает |
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Понятно, что все непонятно)))
Но ясно одно, через форму загружаю файл на сервер, а далее нахожу его там и делаю все что угодно))) Добавлено через 3 минуты и 29 секунд Спасибо всем за направление, а то я думал что Denwer, как сервер - если работает локально, то потом тока загрузить на сервер - и все пойдет. Пойду разбираться с этим. Еще раз спасибо! |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
NewDima, можно заметить, что процитированные вами объяснения автора являются ответом на мои настойчивые и неоднократные вопросы.
Очень легко придти под конец топика, и уже после того, как от автора добились, наконец, внятных объяснений, встать в позу "Я Д'Артаньян а вы все ничего не поняли". |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Тут понятно, файл ушёл на сервер Тут не понятно, зачем для этого путь файла на диске? Тут как-то странно, это тот же пользователь, что закачивал? Зачем ему нажну ссылка, на файл на диске? Чтобы он вспомнил что он туда закачивал? А если зайдёт другой пользователь, он вообще ничего не знает про первого, зачем ему путь на диске первого? Или может все пользователи работают с 1 компа или с 1 диска? Я уж пытался включить изващённую фантазию, но всёравно никаких мысле в кучу сложить не получается |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |