حفظ البيانات من Drupal إلى ملف النظام المحلي

StackOverflow https://stackoverflow.com/questions/2269310

  •  20-09-2019
  •  | 
  •  

سؤال

لقد أنشأت وحدة Drupal التي تعرض بعض بيانات الإبلاغ. أرغب في تضمين خيار يمكّن المستخدم من عرض الصفحة لحفظ البيانات كملف TXT أو CSV على نظامه المحلي ، لكنني أواجه المشكلات التالية:

  1. كيفية تحديد الدليل المحلي لحفظه.
  2. كيفية حفظ البيانات فعليًا إلى الدليل.

لقد قرأت من خلال وثائق Drupal API للنماذج. يوجد نوع إدخال "ملف" يسمح للمستخدم بتصفح نظامه وتحديد موقع للتحميل منه. لقد نظرت أيضًا إلى وظيفة file_save_data () ، لكن يبدو أن البيانات يتم حفظها فقط داخل دليل موقع Drupal.

أي مساعدة سيكون موضع تقدير كبير.

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

المحلول

كيفية تحديد الدليل المحلي لحفظه.

لا يمكنك. سيقوم متصفح المستخدم بحفظ ملفاتك إما إلى دليل التنزيلات الافتراضي للمتصفح ، أو سيطالب المستخدم باختيار موقع. إن السماح لموقع ويب باختيار المكان الذي يتم فيه حفظ ملف سيكون بمثابة حفرة أمان رئيسية - يمكنهم إنشاء اختصارات لسطح المكتب للفيروسات ، وإضافة عناصر بدء التشغيل ، إلخ.

نصائح أخرى

هذا عمل بالنسبة لي:

$file = file_save_data($data, $dest, $replace = FILE_EXISTS_RENAME); 
drupal_set_header($header = "Content-type: text");
drupal_set_header($header = "Content-Disposition: attachment; filename=$file.xls"); 
readfile($file);  
die(); 

يحتاج Die () إلى الدخول إلى هناك ، وإلا سيتم إلحاق الصفحة HTML بالملف.

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