سؤال

لدي العنصر التالي في النموذج الخاص بي:

$attachment = new Zend_Form_Element_File('attachment');
$attachment->setLabel('Attach File (2MB Max)');
$attachment->addValidator('Count', false, 1);
$attachment->addValidator('Size', false, 2048000);

إذا قمت بطباعة النموذج بأكمله في العرض ، فإن هذا الحقل يعمل بشكل جيد. ومع ذلك ، لدي بعض HTML مخصص للغاية الذي أستخدمه للعرض ، لذلك أردد كل عنصر من عناصر النماذج مثل هذا في رأيي:

<?=$this->form->attachment?>

هذا يعمل بشكل جيد للحقول الأخرى. ولكن لحقل الملف هذا. Zend_form التحقق من الصحة مع الرسالة يتجاوز الملف "مرفق" حجم INI المحدد ومع ذلك ، لا أدرج أي تحميل ملف في مشاركتي ، وحتى لو فعلت ذلك ، فإنه لا يزال يخطئ في نفس الرسالة.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

هل تفعل النوع الصحيح من enctype؟ يجب أن تكون "متعددة/نموذج البيانات". إذا لم يكن الأمر كذلك ، فقد لا يتم وضع مفتاح عنصر الملف في صفيف $ _files ويفترق عنصر الملف أنه كان الملف كبيرًا جدًا بحيث لا يمكن تحميله على الخادم.

نصائح أخرى

MMM إذا كان يقول حجم INI ، هل قمت بفحص التوجيه upload_max_filesize في php.ini الخاص بك؟

تحقق من عرض النموذج ، ربما تقوم بتقديم النموذج جزئيًا ، حاول وضع هذا في عرض النموذج الخاص بك:

<?=$this->form?>

(هذا عمل بالنسبة لي)

نموذج فقط؟> سيعمل بشكل جيد مع تحميل أي ملف. لكن المشكلة تحدث عندما نحاول وضع نموذج جزئي على النحو التالي: Form-> file؟>

Form-> file؟> سيظهر دائمًا خطأ ، لذا حاول تنفيذ النموذج الكامل وتجنب وضع عناصر النموذج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top