PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
pdbq Отправлено: 07 Апреля, 2016 - 18:24:01 • Тема: curl отправка файла на серевер • Форум: Программирование на PHP

Ответов: 1
Просмотров: 461
Спасибо, разобрался сам
Для формы
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="/uploadfile" enctype="multipart/form-data" style="display:inline;">
  2. <div>Выберите подписанный и зашифрованный файл с документом</div>
  3. <p></p><div>Файл:&nbsp;&nbsp;<input type="file" size="50" name="filein" vk_10e27="subscribed">&nbsp;&nbsp;&nbsp;<input type="submit" value="Отправить"></div>
  4. </form>

Будет так
PHP:
скопировать код в буфер обмена
  1. $target_url = 'http://сайт№1/uploadfile';
  2.         foreach($nullxmltof4 as $asd){
  3.                 $filename='/nullxmltof4/' . $asd;
  4.                 $file_name_with_full_path=__DIR__ .$filename;
  5.  
  6.                 $post = array('filein'=>'@'.$file_name_with_full_path . ';filename=' . $asd);
  7.                 $ch = curl_init();
  8.                 curl_setopt($ch, CURLOPT_URL,$target_url);
  9.                 curl_setopt($ch, CURLOPT_HEADER, 1); // получать заголовки
  10.                 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  11.                 curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36');
  12.                 curl_setopt($ch, CURLOPT_REFERER, 'http://yandex.ru');
  13.                 curl_setopt($ch, CURLOPT_POST,1);
  14.                 curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  15.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  16.                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации   
  17.                 $result=curl_exec ($ch);
  18.                 if (curl_errno($ch)) {
  19.             print "Error: " . curl_error($ch);
  20.         }
  21.                 else {
  22.             var_dump($result);
  23.             curl_close($ch);
  24.         }
  25.         }
pdbq Отправлено: 07 Апреля, 2016 - 10:31:29 • Тема: curl отправка файла на серевер • Форум: Программирование на PHP

Ответов: 1
Просмотров: 461
Нужно осуществить массовую отправку файлов на моем сайте.

Мой сайт: сайт№1
Сторонний сайт: сайт№2

На сайте№2 есть форма(иного доступа к этому сайту кроме как к просмотру у меня нету)
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="post" action="/uploadfile" enctype="multipart/form-data" style="display:inline;">
  3. <div>Выберите подписанный и зашифрованный файл с документом</div>
  4. <p></p><div>Файл:&nbsp;&nbsp;<input type="file" size="50" name="filein" vk_10e27="subscribed">&nbsp;&nbsp;&nbsp;<input type="submit" value="Отправить"></div>
  5. </form>


На моем сайте php код:
PHP:
скопировать код в буфер обмена
  1. if(!empty($_POST['f4_all'])){
  2.         $dir = realpath('./nullxmltof4');
  3.         $f = scandir($dir);
  4.         $nullxmltof4=array();
  5.         foreach ($f as $file){
  6.                 if(preg_match('/\.(ef4)/', $file)){
  7.                         //echo $file.'<br/>';
  8.                         $nullxmltof4[] = $file;
  9.                 }
  10.         }
  11.         //var_dump($nullxmltof4);
  12.         $target_url = 'сайт№1';
  13.         foreach($nullxmltof4 as $asd){
  14.                 $filename='/nullxmltof4/'.$asd;
  15.                 //$file_name_with_full_path = realpath($filename);
  16.                 $file_name_with_full_path=__DIR__ .$filename;
  17.                 //echo $file_name_with_full_path."<br>";
  18.                 $pathinfo = pathinfo($file_name_with_full_path);
  19.                 $filenameinfo = $pathinfo['basename'];
  20.                 $post = array('file'=>'@'.$file_name_with_full_path . ';filename=' . $filenameinfo);
  21.  
  22.                 $ch = curl_init();
  23.                 curl_setopt($ch, CURLOPT_URL,$target_url);
  24.                 curl_setopt($ch, CURLOPT_POST,1);
  25.                 curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  26.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  27.                 $result=curl_exec ($ch);
  28.                 if (curl_errno($ch)) {
  29.             print "Error: " . curl_error($ch);
  30.         } else {
  31.             //var_dump($result);
  32.             curl_close($ch);
  33.         }
  34.         }
  35. }
  36.  

но файлы не уходят. Если нужны реальные данные и один из файлов могу предоставить. Очень надеюсь на Вашу помощь. Спасибо!
(Добавление)
Зголовки ответа
CODE (htmlphp):
скопировать код в буфер обмена
  1. Access-Control-Allow-Orig...   
  2. *
  3. Cache-Control  
  4. no-store, no-cache, must-revalidate, max-age=0
  5. Content-Length 
  6. 52
  7. Content-Type   
  8. text/plain
  9. Expires
  10. Mon, 04 Dec 1999 21:29:02 GMT
  11. Pragma 
  12. no-cache




Заголовки запроса
CODE (htmlphp):
скопировать код в буфер обмена
  1. Accept 
  2. text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  3. Accept-Encoding
  4. gzip, deflate
  5. Accept-Language
  6. ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
  7. Connection     
  8. keep-alive
  9. Host   
  10. ff.kis.scr.kaspersky-labs.com
  11. Origin 
  12. http://сайт№1
  13. Referer
  14. http://сайт№1/id=8669-1072-1151-01-0272001339
  15. User-Agent     
  16. Mozilla/5.0 (Windows NT 5.1; rv:44.0) Gecko/20100101 Firefox/44.0
pdbq Отправлено: 22 Октября, 2010 - 13:36:49 • Тема: массив selec'ов • Форум: Программирование на PHP

Ответов: 0
Просмотров: 143
Помогите пожалуйста создать массив select'ов которые по нажатию на одну кнопку передадут свои значения. Спасибо.

CODE (htmlphp):
скопировать код в буфер обмена
  1. while($asd=mysql_fetch_row($result)){
  2.         <select name='user[]'>
  3.                 <option value='?'></option>
  4.                 <option value='LM'>LM</option>
  5.                 <option value='LD'>LD</option>
  6.                 <option value='CD'>CD</option>
  7.                 <option value='RD'>RD</option>
  8.                 <option value='CM'>CM</option>
  9.         </select>
  10. </form>";
  11. }
  12. if(isset($_POST['enter2'])){
  13. $k=0;
  14. while($k<24){
  15.   echo ($_POST['user'][$k]);
  16.   $k=$k+1;
  17. }
  18. }

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB