お世話になっております。
題名の通り、サイトAで会員登録をし、同時にサイトBにも登録をしたいです。
テキスト部分の登録はできるようになったのですが、画像の保存について試行錯誤しています。
サイトBの会員登録方法がワンクリックではなく
0. 登録画面を開く
0. 画像登録部の参照ボタンから画像を選択
0. 1枚登録するごとに画像下部の保存ボタンをクリックしてサーバ内に画像を保存(この時画像名は変更される)
0. その他の情報も入力して最終的な登録ボタンをクリック
という流れになっています。
サイトAの方は
参照→選択のみで保存は他情報と一括で行われています。
実験的に以下のようにコードを書いてみたのですが、画像以外の情報しか登録されませんでした。
php
1<?php 2 if($_POST){ 3 $file1 = array('userfile1'=>'@'.$_FILES['img1']['name'], 4 'UP_1'=>'1'); 5 $file2 = array('userfile2'=>'@'.$_FILES['img2']['name'], 6 'UP_2'=>'1'); 7 $member = array('member_name'=>$_POST['name'], 8 'member_mail'=>$_POST['mail'], 9 'member_kana'=>$_POST['kana'], 10 'member_userid'=>"12345678", 11 'member_passwd'=>"12345678", 12 'member_repass'=>"12345678", 13 'OK_1'=> "保存"); 14 15//postするデータの配列 16$params = array('login_mail' => "test@example.com" , 17 'login_passwd'=> "pass" , 18 'LOGIN' => "ログイン"); 19 20 $fp = fopen("tmp", "w"); 21 $ch = curl_init("http://www.example.com/login.php"); 22 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 23 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 24 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 25 curl_setopt($ch, CURLOPT_POST, TRUE); 26 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 27 curl_setopt($ch, CURLOPT_WRITEHEADER, $fp); $ 28 $output = curl_exec($ch); 29 fclose($fp); curl_close($ch); 30 31 $ch = curl_init("http://example.com/register.php"); 32 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 33 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 34 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 35 curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp"); 36 curl_setopt($ch, CURLOPT_POST, TRUE); 37 curl_setopt($ch, CURLOPT_POSTFIELDS, $file1); 38 $output = curl_exec($ch); 39 curl_close($ch); 40 41 $ch = curl_init("http://example.com/register.php"); 42 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 43 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 44 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 45 curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp"); 46 curl_setopt($ch, CURLOPT_POST, TRUE); 47 curl_setopt($ch, CURLOPT_POSTFIELDS, $file2); 48 $output = curl_exec($ch); 49 curl_close($ch); 50 51 $ch = curl_init("http://example.com/register.php"); 52 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 53 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 54 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); 55 curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp"); 56 curl_setopt($ch, CURLOPT_POST, TRUE); 57 curl_setopt($ch, CURLOPT_POSTFIELDS, $member); 58 $output = curl_exec($ch); 59 curl_close($ch); 60 61 62}else{ 63echo <<< EOH 64<!DOCTYPE html> 65<html lang="ja"> 66<head> 67 <meta charset="UTF-8"> 68 <title>Document</title> 69</head> 70<body> 71 <form action="" method="post" enctype="multipart/form-data"> 72 <div>名前<input type="text" name="name"></div> 73 <div>メールアドレス<input type="text" name="mail"></div> 74 <div>画像1<input type="file" name="img1"></div> 75 <div>画像2<input type="file" name="img2"></div> 76 <input type="submit" name="send" value="送信"> 77 </form> 78</body> 79</html> 80EOH; 81} 82
もっと簡単な方法が!というようなことでも構いませんのでご教授いただけると幸いです。
サイトAの環境はPHP/5.2.4
サイトBの環境はPHP/5.3.27
になります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/11 02:12