2014-07-07 8 views
6

मैं कैसे पुनः प्राप्त करते प्राप्त और Mailgun पदMailgun फ़ॉर्म पोस्ट से लगाव पीएचपी

साथ एक फार्म पोस्ट के माध्यम से भेजा जाना लगाव मापदंडों

attachment-1  
{:filename=>"crabby.gif", :type=>"image/gif", :name=>"attachment-1", :tempfile=>#<Tempfile:/tmp/RackMultipart20140707-2-slsrkh>, :head=>"Content-Disposition: form-data; name=\"attachment-1\"; filename=\"crabby.gif\"\r\nContent-Type: image/gif\r\nContent-Length: 2785\r\n"} 

attachment-2  
{:filename=>"attached_файл.txt", :type=>"text/plain", :name=>"attachment-2", :tempfile=>#<Tempfile:/tmp/RackMultipart20140707-2-sudxuf>, :head=>"Content-Disposition: form-data; name=\"attachment-2\"; filename=\"attached_файл.txt\"\r\nContent-Type: text/plain\r\nContent-Length: 32\r\n"} 

Content-Type  
multipart/mixed; boundary="------------020601070403020003080006" 

उत्तर

5

तो मैं यह जानता हूँ में से कुछ निम्नलिखित बचाने एक साल देर हो चुकी है, लेकिन मुझे एक ही समस्या थी और यह पता लगाया गया कि अनुलग्नक कैसे डाउनलोड करें। पोस्ट में फाइलें पर्यावरणीय चर $_FILES में संग्रहीत हैं। प्रत्येक फ़ाइल के लिए जानकारी की तरह कुछ दिखेगा:

Array 
(
    [attachment-1] => Array 
     (
      [name] => ATextFile.txt 
      [type] => text/plain 
      [tmp_name] => /tmp/php8zhmlU 
      [error] => 0 
      [size] => 70144 
     ) 
) 

फ़ाइल का पथ, tmp_name में संग्रहित है इसलिए इस मामले में, /tmp/php8zhmlU फ़ाइल का पूर्ण पथ है। move_uploaded_file किसी भी मौजूदा फाइल को ओवरराइट करेगा! POST से सभी संलग्नक डाउनलोड करने के लिए मैं एक समारोह लिखा है: इस शीर्ष के लिए

function download_attachments($pathToDownloadDirectory) 
{ 
    foreach($_FILES as $file) 
    { 
     if($file['error'] == "0") 
     { 
      if(!(move_uploaded_file($file['tmp_name'], $pathToDownloadDirectory . $file['name']))) 
      { 
       return 0; 
      } 
     } 
     else 
     { 
      return 0; 
     }  
    } 
    return 1; 
} 

download_attachments("/Full/Path/To/Some/Dir/"); 

प्रलेखन के लिए अपने ईमेल के बारे में जानकारी प्राप्त करने के लिए में मार्ग सत्र से found here.

+1

बहुत बहुत शुक्रिया डाउनलोड करने के लिए। यह –

+0

कर सकते हैं काम किया। :-) आप कुछ नमूना कोड के साथ शायद इसे थोड़ा सा स्पष्ट करते हैं। मुझे मेलगुन दस्तावेज़ों का संदर्भ देने के लिए एक ही समस्या – ratherBeKiting

+0

है, https://documentation.mailgun.com/quickstart-receiving.html#supported-actions-for-routes –

4
  1. उपयोग दुकान कार्रवाई हो सकती है। (retrieving stored message
  2. json_decode "संलग्नक" आदेश
  3. प्राप्त api कुंजी अपने अनुलग्नकों के बारे में जानकारी प्राप्त करने और आदेश एपीआई मिल का उपयोग करने के लिए php पुस्तकालय का उपयोग करने के संपत्ति।

अगर आप डीकोड JSON अनुलग्नकों की सूची है $ फ़ाइलें, आप

$mgClient = new Mailgun('yourApiKey'); 

foreach ($files as $file){ 
    file_put_contents($file->name,$mgClient->get($file->url)->http_response_body);  
} 

कर सकते हैं हर लगाव

संबंधित मुद्दे