شرح دوال ومكتبة ZipArchive للتعامل مع ملفات – PHP Zip Functions
====================
توفر PHP دوال [شركة برمجة مصرية] ومكتبة ZipArchive للتعامل مع ملفات ZIP (ضغط وفك ضغط).
class ZipArchive
——————
كلاس رئيسي للتعامل مع ملفات zip.
ZipArchive::open()
———————
يفتح ملف zip موجود أو ينشئ واحدًا جديدًا.
<?php
$zip = new ZipArchive();
if ($zip->open("test.zip", ZipArchive::CREATE) === TRUE) {
$zip->addFromString("hello.txt", "مرحبا بالعالم");
$zip->close();
echo "✅ تم إنشاء الملف";
} else {
echo "❌ فشل في فتح الملف";
}
?>
ZipArchive::addFile()
———————–
يُضيف ملف موجود إلى الأرشيف.
<?php
$zip = new ZipArchive();
$zip->open("test.zip");
$zip->addFile("file.txt", "newfile.txt");
$zip->close();
?>
ZipArchive::addFromString()
—————————–
يُضيف محتوى [شركة برمجة مصرية] كنص مباشر داخل ملف zip.
<?php
$zip = new ZipArchive();
$zip->open("test.zip");
$zip->addFromString("note.txt", "محتوى مباشر");
$zip->close();
?>
ZipArchive::extractTo()
————————-
يفك الضغط إلى مجلد معين.
<?php
$zip = new ZipArchive();
if ($zip->open("test.zip")) {
$zip->extractTo("output/");
$zip->close();
}
?>
ZipArchive::close()
———————
يُغلق الملف المضغوط بعد الانتهاء من العمليات.
<?php
$zip->close();
?>
ZipArchive::deleteName()
————————–
يحذف ملفًا من الأرشيف بالاسم.
<?php
$zip = new ZipArchive();
$zip->open("test.zip");
$zip->deleteName("note.txt");
$zip->close();
?>
ZipArchive::getNameIndex()
—————————-
يحصل على اسم ملف في الأرشيف بناءً على رقم الفهرس.
<?php
$zip = new ZipArchive();
$zip->open("test.zip");
echo $zip->getNameIndex(0);
$zip->close();
?>
ZipArchive::numFiles
———————–
عدد الملفات داخل الأرشيف.
<?php
$zip = new ZipArchive();
$zip->open("test.zip");
echo $zip->numFiles;
$zip->close();
?>
