2011-11-06 4 views
8

के साथ vbulletin पोस्टिंग पोस्ट मुझे कर्ल और PHP के माध्यम से vbulletin पर एक फ़ोरम पोस्ट पोस्ट करने की आवश्यकता है, यह कठिन काम नहीं लगता है, हालांकि इसमें छवियां हैं, और मैं एक छवि अपलोड करने के साथ ठीक हूं, लेकिन जैसे ही मैं दूसरी छवि जोड़ता हूं, ऐसा लगता है कि मैं उस फोरम में शीर्ष थ्रेड पर रीडायरेक्ट कर रहा हूं जिसे मैं पोस्ट करने की कोशिश कर रहा हूं?कर्ल और PHP

मेरा कोड है, ऐसा लगता है जैसे दूसरी छवि पोस्ट करना सिर्फ छवि के पथ को बदल रहा है .. लेकिन यह काम नहीं करता है?

$post = array(
       'st' => '0', 
       'act' => 'Post', 
       's' => '', 
       'f' => '157', 
       'auth_key' => $this->scrape->fetchBetween("<input type='hidden' name='auth_key' value='", "'",$this->scrape->result), 
       'removeattachid' => '0', 
       'MAX_FILE_SIZE' => '0', 
       'CODE' => '01', 
       'post_key' => $this->scrape->fetchBetween("<input type='hidden' name='post_key' value='", "'",$this->scrape->result), 
       'TopicTitle' => $data['title'], 
       'TopicDesc' => '', 
       'tag' => $tag, 
       'bbmode' => 'normal', 
       'ffont' => '0', 
       'fsize' => '0', 
       'fcolor' => '0', 
       'LIST' => 'LIST ', 
       'helpbox' => 'Image (alt + g) [img]http://www.dom.com/img.gif[/img]', 
       'tagcount' => '', 
       'Post' => $description, 
       'enableemo' => 'yes', 
       'enablesig' => 'yes', 
       'iconid' => '0', 
       'FILE_UPLOAD' => "@".$data['img1'], 
       'attachgo' => 'Add This Attachment' 
     ); 
     $this->scrape->fetch('http://forum.lowyat.net/index.php?', $username, $post); 
     if(!empty($data['img2'])) { 
      $post = array(
       'st' => '0', 
       'act' => 'Post', 
       's' => '', 
       'f' => '157', 
       'auth_key' => $this->scrape->fetchBetween("<input type='hidden' name='auth_key' value='", "'",$this->scrape->result), 
       'removeattachid' => '0', 
       'MAX_FILE_SIZE' => '0', 
       'CODE' => '01', 
       'post_key' => $this->scrape->fetchBetween("<input type='hidden' name='post_key' value='", "'",$this->scrape->result), 
       'TopicTitle' => $data['title'], 
       'TopicDesc' => '', 
       'tag' => $tag, 
       'bbmode' => 'normal', 
       'ffont' => '0', 
       'fsize' => '0', 
       'fcolor' => '0', 
       'LIST' => 'LIST ', 
       'helpbox' => 'Image (alt + g) [img]http://www.dom.com/img.gif[/img]', 
       'tagcount' => '', 
       'Post' => $description, 
       'enableemo' => 'yes', 
       'enablesig' => 'yes', 
       'iconid' => '0', 
       'FILE_UPLOAD' => "@".$data['img2'], 
       'attachgo' => 'Add This Attachment'); 

      $this->scrape->fetch('http://forum.lowyat.net/index.php?', $username, $post); 
      echo "<pre>"; 
      print_r($post); 
      exit($this->scrape->result); 

     } 

मैंने कहीं किसी भी सुझाव की सराहना करेंगे ... कुछ hidding वहाँ होना चाहिए लेकिन मैं सिर्फ यह नहीं देख सकते हैं ..

धन्यवाद, एस

+2

मैं जानना चाहता हूं कि यह $ क्या है-> स्क्रैप-> लाने – Vineet1982

उत्तर

1

तुम एक जोड़ने नहीं कर रहे हैं एक पोस्ट में दूसरी छवि: आप दो छवियों के साथ दो पोस्ट कर रहे हैं। चूंकि आप POST पैरामीटर को धोखा देकर ऐसा कर रहे हैं, पहली पोस्ट को क्रियान्वित किया जाता है, और फिर दूसरी पोस्ट नहीं होगी क्योंकि vBull को दो पदों के विरुद्ध त्वरित रूप से सबमिट किया जा रहा है। पद (लगभग) समान हैं इसलिए दूसरा अस्वीकार हो जाता है। आपको जो करना है वह दूसरी छवि और स्पूफ को शामिल करने के लिए पोस्ट संरचना की जांच करना है, जो कि एक कॉल में दो कॉल में नहीं है।

हाउवर: एक सामान्य गाइड के रूप में, कोड में चीजों में बदलाव होने पर इस तरह के दृष्टिकोण को "खतरनाक" माना जाएगा।

आपको शायद vBulletin द्वारा प्रदान की गई एक बहुत ही कार्यात्मक API का उपयोग करना चाहिए। https://members.vbulletin.com/api/vBulletin/vB_DataManager_ThreadPost.htmlhttps://members.vbulletin.com/api/vBulletin/vB_DataManager_Post.html

vBull के साथ कुछ भी करने की तरह, यह थोड़ा जटिल है लेकिन एक उत्कृष्ट मंच है (यदि आपके पास लाइसेंस है) आपकी मदद कर सकता है। आप देखेंगे कि "पोस्ट" एपीआई में एक सरणी की अनुमति देता है।