2013-06-10 7 views
13

क्या सिद्धांत का उपयोग किए बिना symfony2 में फ़ाइलों को अपलोड करना संभव है? सिद्धांत के साथ, इसका उदाहरण यहां दिया गया है: http://symfony.com/doc/2.2/cookbook/doctrine/file_uploads.htmlsymfony2 बिना सिद्धांत के फ़ाइल कैसे अपलोड करें?

क्या फाइलों को अपलोड करने का एक आसान तरीका है, जैसे कि मूल PHP में हमारे पास move_uploaded_file() फ़ंक्शन है जिसके साथ फ़ॉर्म सबमिट किए जाने के बाद हम अपलोड की गई फ़ाइल को स्थानांतरित कर सकते हैं।

अभी के लिए जब मैं सिम्फोनी में प्रपत्र सबमिट यह है कि क्या मैं अनुरोध सरणी (Symfony \ घटक \ HttpFoundation \ अनुरोध)

[files] => Symfony\Component\HttpFoundation\FileBag Object 
     (
      [parameters:protected] => Array 
       (
        [upload_cover] => Symfony\Component\HttpFoundation\File\UploadedFile Object 
         (
          [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
          [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => secret_of_success.png 
          [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/png 
          [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 157958 
          [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 
          [pathName:SplFileInfo:private] => C:\xampp\tmp\php3636.tmp 
          [fileName:SplFileInfo:private] => php3636.tmp 
         ) 

       ) 

     ) 

उत्तर

33

की 'फ़ाइलों' अनुभाग में प्राप्त प्रपत्र जमा करने के बाद, फ़ाइल को स्थानांतरित है आपकी वांछित निर्देशिका में और आपको बदले में File ऑब्जेक्ट प्राप्त होगा।

foreach($request->files as $uploadedFile) { 
    $name = //... 
    $file = $uploadedFile->move($directory, $name); 
} 

इस वर्ग के पूर्ण विशेषताओं प्रलेखन के लिए the API-Manual पर एक नजर डालें।

+0

उत्तर के लिए धन्यवाद, मैं objecct $ uploadfile कैसे बना सकता हूं, जैसे $ uploadfile = new \ Symfony \ Component \ HttpFoundation \ File \ UploadedFile(); – Rahul

+0

फॉर्म जमा करने के बाद वे पहले ही '$ अनुरोध-> फाइलों में होंगे;'। तो आप इस सरणी के माध्यम से लूप कर सकते हैं और आपके द्वारा पहली बार भेजे गए प्रत्येक फ़ाइल को ले जा सकते हैं। – devsheeep

+0

यदि मैं लूप के लिए उपरोक्त उपयोग करता हूं, तो यह केवल temp फ़ाइल अपलोड करता प्रतीत होता है, मैंने अपलोड डीआईआर में अपलोड करने के लिए एक पीएनजी चुना है, मैं अपलोड की गई temp फ़ाइल को देखता हूं, पीएनजी छवि temp फ़ाइल का नाम php483.tmp नहीं है। क्या मुझसे कोई चूक हो रही है? – Rahul

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