Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> POST для отправки файла 
V
    Опции темы
K0SHKA
Дата 14.8.2008, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Здраствуйте наконец дошла до пхп. И вот первая проблема ))
Необходимо создать POST HTTP запрос так, чтобы в запросе был локальный файл. 
Нужно это для того, чтобы переместить файл с одного сервера на другой.

Целый день провела в гугле но нечего на эту тему ненашла.. Надеюсь на вашу помощь.  smile 
PM   Вверх
HackMan
Дата 14.8.2008, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Обсуждалось много-много раз.
http://ua.php.net/manual/ru/features.file-upload.php

Это сообщение отредактировал(а) HackMan - 14.8.2008, 03:54


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 14.8.2008, 09:20 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Сдается мне, здесь не клиент-сервер, а сервер-сервер.
Вот только как первая задача, связанная с пхп, это очень странно. Ну все равно, что написать "Наконец-то начала осваивать автомобиль. Необходимо узнать, как к нему привязать сетку для гамака." Привязать-то можно, но обычно автомобиль используется для другого. А для передачи файлов используется FTP.

Ну, и традиционный вопрос

Цитата(K0SHKA @  14.8.2008,  02:33 Найти цитируемый пост)
Целый день провела в гугле но ничего на эту тему не | нашла.. 

по каким запросам производился поиск?
PM   Вверх
K0SHKA
Дата 14.8.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Извиняюсь что сразу всё не обьяснила, Надо сделать чтото вроде Server - Server Ну в общем такая ситуация )) Вот Есть допустим на другом Сервере форма для отправки файлов, а мне надо чтобы файл передавался не из браузера клиента а с моего сервера. Для этого мне надо составить HTTP POST запрос

Например:

Host: Deposit.com \n
Agent: Mazzila \n 

и тд, вопрос такой как сформировать этот запрос и послать его на Сервер с Сервера (не браузера) =)) посредством php.


PM   Вверх
solenko
Дата 14.8.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67





--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
K0SHKA
Дата 14.8.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Первый раз вижу эту библиотеку "кюрл" но так как я ненаю как ей пользоваться она мне точно непоможет.. По идеи всё просто главное верно сформировать запрос.

Вот пример как я хочу.. Надо Создать запрос Request так как будто это браузер отправляет файл на другой сервер.. На другом сервере есть тока форма для загрузки файла, через неё .
Надо создать илюзию браузера какбудто клиент отправляет этот файл, но на самом деле файл отправляеться с сервера. Как загрузить файл через форму  Например:
Код

<form action="/ru/f.php" method="post" enctype="multipart/form-data">
<input name="archivo" type="file" size="42" /></p>
<input type="hidden" id="distribuir" name="distribuir" value="1" />


Вот например через сокеты хотела реализовать так..
Надо учесть что мы ещо хотим получить от сервера ответ =)
        
Код

$fp = fopen("/home/file.txt", "r");
        while (!feof($fp))
        {
           $data_string = fgets($fp);
        }
        $request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
        $request.="Host: ".$URL_Info["host"]."\n";
        $request.="Referer: $referer\n";
        $request.="Content-type: application/x-www-form-urlencoded\n";
        $request.="Content-length: ".strlen($data_string)."\n";
        $request.="Connection: close\n";
        $request.="\n";
        $request.=$data_string."\n";

        $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
        fputs($fp, $request);
        while(!feof($fp)) {
            $result .= fgets($fp, 128);

        fclose($fp);


PM   Вверх
Anarki
Дата 14.8.2008, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Цитата(K0SHKA @  14.8.2008,  19:29 Найти цитируемый пост)
$request.="Content-type: application/x-www-form-urlencoded\n";

multipart/form-data должно быть как минимум, код вызывает сомнения, что будет передавать данные "как надо" в форме  smile 
На курле проще реализацию написать, намного проще.
Example #2 в мане пример загрузки файла через форму.


Это сообщение отредактировал(а) Anarki - 14.8.2008, 20:52


--------------------
PM WWW   Вверх
K0SHKA
Дата 14.8.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Цитата(Anarki @ 14.8.2008,  20:50)
Цитата(K0SHKA @  14.8.2008,  19:29 Найти цитируемый пост)
$request.="Content-type: application/x-www-form-urlencoded\n";

multipart/form-data должно быть как минимум, код вызывает сомнения, что будет передавать данные "как надо" в форме  smile 
На курле проще реализацию написать, намного проще.
Example #2 в мане пример загрузки файла через форму.

 smile  Вота например есть сайт http://www.kaspersky.ru/scanforvirus там есть форма загрузки файлов, как мне передать этой форме файл посредством php ?
PM   Вверх
Anarki
Дата 15.8.2008, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 14.3.2005

Репутация: 7
Всего: 11



Код

<?php

$file = 'fortest.zip';

$file = realpath($file); // получаем полный путь к файлу

$ch = curl_init();
if (!$ch) {
    die('Cant init curl '.curl_error($ch));
}

// поля формы, с собакой для input type="file"
$data = array('file' => '@'.$file,'dochk' => 'Проверить','hidearc' => 1,'showlink' => 1,'usedaemon' => 1);
// настраиваем курл
curl_setopt($ch, CURLOPT_URL, 'http://www.kaspersky.ru/scanforvirus');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращать результат в переменной а не выводить на экран
curl_setopt($ch, CURLOPT_HEADER, false); // не выводить http заголовок в результат
// выполняем и ответ в $data
$data = curl_exec($ch);
if (curl_errno($ch) > 0) {
    echo 'Error occured '.curl_error($ch).'<br />'."\n";
    echo $data;
    exit(1);
}

echo $data;



--------------------
PM WWW   Вверх
K0SHKA
Дата 15.8.2008, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Спасибо вам Anarki,  зделаю упор в сторону курл.
PM   Вверх
Feldmarschall
Дата 15.8.2008, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Надеюсь, на том сайте с формой не дураки сидят...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1892 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.