Mahmoud Alrashidi نشر 7 فبراير 2021 أرسل تقرير نشر 7 فبراير 2021 لدي المصفوفة التالية تضم مجموعة من البيانات: <?php $results = array ( array( "name" => "Kamel Mahmoudi", "email" => "kamel@gmail.com", "age" => 20, "country" => "Saudi Arabia", ), array( "name" => "John Doe1", "email" => "john@foo.com", "age" => 24, "country" => "Jordan", ), array( "name" => "John Doe2", "email" => "john@bar.com", "age" => 31, "country" => "Egypt", ) ); أريد تصدير هذه البيانات لملف csv بحيث يتم تحميل الملف من طرف المُتصفح للمُستخدم. 1 اقتباس
0 سمير عبود نشر 7 فبراير 2021 أرسل تقرير نشر 7 فبراير 2021 يُمكنك ذلك عن طريق إستخدام الدالة header و الدالة fputcsv كما هو موضح أدناه: <?php $results = array ( array( "name" => "Kamel Mahmoudi", "email" => "kamel@gmail.com", "age" => 20, "country" => "Saudi Arabia", ), array( "name" => "John Doe1", "email" => "john@foo.com", "age" => 24, "country" => "Jordan", ), array( "name" => "John Doe2", "email" => "john@bar.com", "age" => 31, "country" => "Egypt", ) ); $filename = 'data.csv'; // تعريف مُتغير يحمل إسم الملف /* إستخدام الدالة header لجعل المُتصفح يقوم بتحميل ملف csv */ header("Content-type: text/csv"); // جعل الخرج ملف csv header("Content-Disposition: attachment; filename=$filename");// الملف الذي سيتم تحميله سيأخذ الإسم data.csv /* بما أننا نريد إرسال الملف للمُتصفح مُباشرة بدون إنشائه نستخدم stream: php://output بدل إنشاء ملف بهذا الشكل $output = fopen("filename.csv", "w"); w: يعني أننا فتحنا الملف للكتابة */ $output = fopen("php://output", "w"); /* جلب كافة المفاتيح و جعل أول حرف من كل مفتاح كبير Name, Email, Age, Country */ $header = array_map('ucfirst', array_keys($results[0])); fputcsv($output, $header); // كتابة مُحتوى المُتغير header في أول صف foreach($results as $row) // الدوران على النتائج و كتابة كل صف داخل الملف { fputcsv($output, $row); } fclose($output);// غلق الملف بعد تنفيذ السكربت سيقوم المتصفح بتنزيل ملف بالإسم data.csv يحمل كافة البيانات بهذا الشكل: 3 اقتباس
السؤال
Mahmoud Alrashidi
لدي المصفوفة التالية تضم مجموعة من البيانات:
أريد تصدير هذه البيانات لملف csv بحيث يتم تحميل الملف من طرف المُتصفح للمُستخدم.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.