Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Закачка файла на сервер (PHP-скрипт)


Автор: PsyNejumi303 3.4.2006, 21:00
Цитата
Уважемые, помогите новичку.
В C# пока не рублю, пока приходилось тока на php. Но возникла задача на с# наваять прогу, которая будет полсылать http запрос удаленному серваку и получать ответ...

тот же вопрос. ток как методом пост передать файл в пхп скрипт?
помогите пожалусто.

Автор: mr.DUDA 3.4.2006, 22:58
Цитата(PsyNejumi303 @ 3.4.2006, 20:00 Найти цитируемый пост)
тот же вопрос. ток как методом пост передать файл в пхп скрипт?
помогите пожалусто.

Это уже новый вопрос. И не такой уж и простой. Выделено в отдельную тему.
Добавлено @ 23:00
З.Ы. перенесено в соответствующий раздел

Автор: Wanderer2019 4.4.2006, 10:39
ну вообщем на скорую руку из того что есть:
форма с кнопкой submit:
Код

<form enctype="multipart/form-data" action="upload_action.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="307200">
<input type="file" name="userfile" size=40 value="">
<input type="submit" name="submit" value="Upload">
</form>

upload_action.php:
Код

<?php
ini_set('display_errors','1');
error_reporting(E_ALL);
if($userfile=="none"){
echo "ERROR:No file";
exit;
}
$userfile_name=$HTTP_POST_FILES["userfile"]["name"];
if(!move_uploaded_file($userfile,"каталог на серваке")){//обычно что нить типа "/home/[account]/www/site1/public_html/[directory]/"+$userfile_name
echo "ERROR:Could be a problem during file moveing. Error code is: ".$_FILES["userfile"]["error"];
exit;
}

Автор: PsyNejumi303 4.4.2006, 12:24
Wanderer2019, это понятно и это есть.. надо что бы прога написанная на C# передавала как раз-таки файл скрипту. вот это как сделать интересно.

Автор: mr.DUDA 4.4.2006, 16:19
Что-то мне подсказывает, что нужен класс HttpWebRequest.

Автор: sn8p 11.4.2006, 09:58
Цитата(PsyNejumi303 @ 3.4.2006, 21:00)
...как методом пост передать файл в пхп скрипт?
помогите пожалусто.

Не пробывал, но вот это выглядит кабуто то что надо:
Код

WebClient wc = new WebClient();
wc.UploadFile(url, method, file);

Автор: munhell 12.1.2008, 20:28
Столкнулся с похожей задачей.

Написал код клиента .NET:

Код

            WebClient WC = new WebClient();
            WC.Headers.Add("Content-Type", "multipart/form-data");
            byte[] responseArray = WC.UploadFile("http://myserver/upload.php", "POST", "C:\\test.txt");
            MessageBox.Show(Encoding.Default.GetString(responseArray));


Написал PHP-код upload.php на сервере:

Код

   if(copy($HTTP_POST_FILES["filename"]["tmp_name"],
     "uploads/".$HTTP_POST_FILES["filename"]["name"]))
   {
     echo("Good");
   } 
   else 
   {
      echo("File Error");
   }


Но эта связка не работает. PHP-cкрипт в ведет себя так, будто вообще файл не получает. Однако при обращении из HTML-формы работает нормально.
Нашел http://www.johny.org/2007/08/14/upload-using-c-as-client-and-php-as-server/, особых отличий не увидел, но и он у меня не работает. 
Никто не знает, как решить эту проблему?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)