Загрузка файла на сервер без формы

Статус
В этой теме нельзя размещать новые ответы.

Юра Руднев

Новичок
Фанат
Скорее всего на сервере. Не на компе клиента же.

-~{}~ 02.02.07 16:34:

Повторю.
Задача такова: есть файл на жестком диске. Есть сервер. На сервере есть страница, на которой есть кнопка. При нажатии на кнопку файл с жесткого диска должен быть загружен на сервер.
 

Фанат

oncle terrible
Команда форума
тогда я не понял технологию.
вот ты пишешь
Php открывает сокет и шлет серверу заголовок
зачем он это делает?
и что делает сервер ,получив заголовок?
я тебе уже три раза задал этот вопрос, а ответа до сих пор не получил
 

Фанат

oncle terrible
Команда форума
не понял.
ответ обычно посылают тому, кто обращался.
а у тебя получается странно - пхп посылает серверу запрос, а сервер посылает ответ - браузеру. Ну, допустим.
А что делает браузер? посылает файл?
 

Vital_N

Новичок
о отпусти меня чудо-трава
пхп посылает запрос серверу на котром работает а браузер при этом должен выслать серверу файл ))
так что ли ?? :))
смешной топик получился
 

Vital_N

Новичок
Юра Руднев
сам то на листочке нарисуй схему - где у тебя клиент(браузер), где пхп исполняется и кто-кому чего шлет ))
 

Фанат

oncle terrible
Команда форума
юра, ты в одном шаге от ответа. не сдавайся.
ответь мне на вопрос - браузер посылает файл серверу, так?
 

Юра Руднев

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

Фанат

oncle terrible
Команда форума
Я точно знаю, что такое можно проделать с простой формой.
Нет проблем - давай разберем этот случай
PHP скрипт подделывает заголовки
какие заголовки?
чьи это заголовки и кому их отправляют?
Сервер думает, что это браузер их послал. В заголовке прописано имя файла на компе чела, который вызвал этот скрипт.
ну, и в результате сервер думает, что получил файл. по-моему, всё сходится.

-~{}~ 02.02.07 16:53:

Почему ты не отвечаешь на мои вопросы?
Ты не хочешь разобраться, понять как всё работает и научиться запрашивать файлы с компьютера пользователя?
 

Юра Руднев

Новичок
Автор оригинала: Фанат
какие заголовки?
Вот я и пришел сюда, чтобы выяснить какие заголовки.
Вот пример. тут подделываются кукисы.
Если в скрипте указан локалхост это не означает, что сервер локальный. Также не означает, что этот скрипт рабочий. яего просто с другого сайта стянул.

PHP:
<?php 
  $hostname = "localhost"; 
  $path = "/test/1.php"; 

  // Устанавливаем соединение, имя которого 
  // передано в параметре $hostname 
  $fp = fsockopen($hostname, 80, $errno, $errstr, 30);  
  // Проверяем успешность установки соединения 
  if (!$fp) echo "$errstr ($errno)<br />\n";  
  else 
  {  
    // Формируем HTTP-заголовки для передачи 
    // его серверу 
    $headers = "GET $path HTTP/1.1\r\n";  
    $headers .= "Host: $hostname\r\n";  
    // Подделываем cookie 
    $headers .= "Cookie: name=yura; admin=1;\r\n"; 
    $headers .= "Connection: Close\r\n\r\n";  
    // Отправляем HTTP-запрос серверу 
    fwrite($fp, $headers);  
    // Получаем ответ 
    while (!feof($fp)) 
    {  
      $line .= fgets($fp, 1024);  
    }  
    fclose($fp);  
  }  
  echo $line; 
?>
 

MiksIr

miksir@home:~$
Когда ты открываешь страницу, выбираешь файл и нажимаешь кнопку, _браузер клиента_ считывает этот файл, кодирует его и посылает методом POST на сервер. Сервер может _только_ принимать файл в виде содержимого этого файла, имя же файла уходит на сервер исключительно из методологических соображений - его может и не быть вовсе.
В твоем случае только один вариант - писать отдельную программу, которая будет исполняться на клиенте, брать нужный файл, кодировать его и посылать постом на сервер.
Других вариантов нет, если речь идет о работе со скриптами сервера.
 

Фанат

oncle terrible
Команда форума
MiksIr
какой ты скучный

-~{}~ 02.02.07 17:00:

Юра, замечательно. Очень интересный скрипт.
Скажи, а для кого здесь подделываются кукисы? не в смысле человек, а в смысле система, по отношению к этому скрипту? куда он эти заголовки отправляет?
 

MiksIr

miksir@home:~$
Ага, бог флейма отвлекся при моем рождении и не наделил способностями раздувать два поста на три страницы.
Зато бодрствовал бог терпимости и даровал мне возможность не забывать свое прошлое с его ошибками и глупыми вопросами, дабы не ставить себя выше идущих тем же путем.
Аминь! =)
Пафосно, да? =)
 

Юра Руднев

Новичок
Автор оригинала: Фанат
Юра, замечательно. Очень интересный скрипт.
Скажи, а для кого здесь подделываются кукисы? не в смысле человек, а в смысле система, по отношению к этому скрипту? куда он эти заголовки отправляет?
Отправляет серверу. Браузер. Разве браузер не посылает заголовки серверу при загрузки файла?
Может, мой вопрос и глупый, как и я сам.
 

Фанат

oncle terrible
Команда форума
постой. так кто отправляет - скрипт или браузер?
 

AmdY

Пью пиво
Команда форума
MiksIr, эт замечательно, но интересно понял ли юра свою ошибку, насчёт php, а с файликом труднее.
Теоретически возможно, чтобы браузер мог загружать файлы без выбора в диалоге, но это противоречит w3c, поэтому в большинстве браузеров это невозможно. (интересно, есть ли исключения)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху