yakupeyisan/codeigniter4-saver
Composer 安装命令:
composer require yakupeyisan/codeigniter4-saver
包简介
CodeIgniter 4 için kapsamlı dosya kaydetme paketi - Excel, Word, PDF, HTML, CSV ve daha fazlası
关键字:
README 文档
README
CodeIgniter 4 için kapsamlı ve güçlü dosya kaydetme paketi. Excel, Word, PDF, HTML, CSV ve daha fazla formatı destekler.
🎯 Özellikler
- ✅ Excel Export/Import - PhpSpreadsheet ile güçlü Excel işlemleri
- ✅ Word Oluşturma - PhpWord ile profesyonel Word belgeleri
- ✅ PDF Oluşturma - mPDF ve TCPDF desteği
- ✅ HTML/SHTML Export - Özelleştirilebilir HTML çıktıları
- ✅ CSV Export/Import - Hızlı ve kolay CSV işlemleri
- ✅ Şablon Desteği - Özel şablonlarla belgeler oluşturun
- ✅ Veri Formatlaması - Otomatik veri tipi algılama ve formatlama
- ✅ Toplu İşlemler - Büyük veri setlerini verimli işleme
- ✅ Dosya İndirme - Doğrudan tarayıcıya indirme
- ✅ Dosya Kaydetme - Sunucuya kaydetme desteği
- ✅ Dosya Koruması - Şifre koruması ve salt okuma modu
- ✅ Arka Plan Antet - Watermark ve antet desteği
- ✅ Esnek API - Kolay kullanım ve özelleştirme
📦 Kurulum
Composer ile kurulum:
composer require yakupeyisan/codeigniter4-saver
.env Yapılandırması
.env dosyanıza aşağıdaki ayarları ekleyin:
# Varsayılan kayıt yolu (writable/attachments/) SAVER_DEFAULT_SAVE_PATH=attachments # Otomatik kaydetme modu (true/false) SAVER_AUTO_SAVE=false # Varsayılan sürücü SAVER_DEFAULT_DRIVER=excel
Detaylı yapılandırma için SAVE_PATH_GUIDE.md dosyasına bakın.
🚀 Hızlı Başlangıç
Excel Export
use Yakupeyisan\CodeIgniter4Saver\Saver; $saver = new Saver(); // Basit veri export $data = [ ['Ad', 'Soyad', 'Email'], ['Ahmet', 'Yılmaz', 'ahmet@example.com'], ['Mehmet', 'Kaya', 'mehmet@example.com'] ]; $saver->excel() ->setData($data) ->setFileName('kullanicilar.xlsx') ->download(); // Veya varsayılan yola kaydet (writable/attachments/) $filePath = $saver->excel() ->setData($data) ->setFileName('kullanicilar.xlsx') ->saveToDefault(); // Veya özel yola kaydet $filePath = $saver->excel() ->setData($data) ->setFileName('kullanicilar.xlsx') ->save('path/to/directory');
PDF Oluşturma
$saver = new Saver(); $html = '<h1>Başlık</h1><p>İçerik</p>'; $saver->pdf() ->setContent($html) ->setFileName('belge.pdf') ->setOrientation('portrait') // portrait veya landscape ->setPageSize('A4') ->download();
Word Oluşturma
$saver = new Saver(); $saver->word() ->addTitle('Belge Başlığı', 1) ->addText('Bu bir paragraftır.') ->addTable([ ['Kolon 1', 'Kolon 2'], ['Değer 1', 'Değer 2'] ]) ->setFileName('belge.docx') ->download();
HTML Export
$saver = new Saver(); $data = [ ['Ad', 'Soyad', 'Email'], ['Ahmet', 'Yılmaz', 'ahmet@example.com'] ]; $saver->html() ->setData($data) ->setTitle('Kullanıcı Listesi') ->setTemplate('custom-template') // Opsiyonel ->setFileName('liste.html') ->download();
CSV Export
$saver = new Saver(); $data = [ ['Ad', 'Soyad', 'Email'], ['Ahmet', 'Yılmaz', 'ahmet@example.com'] ]; $saver->csv() ->setData($data) ->setDelimiter(',') ->setEnclosure('"') ->setFileName('data.csv') ->download();
📖 Detaylı Kullanım
Daha fazla örnek ve kullanım senaryosu için EXAMPLES.md dosyasına bakın.
⚙️ Yapılandırma
Konfigürasyon dosyasını kopyalayın:
php spark saver:publish
Veya manuel olarak app/Config/Saver.php dosyasını oluşturun:
<?php namespace Config; use CodeIgniter\Config\BaseConfig; class Saver extends BaseConfig { public string $defaultDriver = 'excel'; public string $tempPath = WRITEPATH . 'uploads/temp/'; public string $savePath = WRITEPATH . 'uploads/saved/'; // Excel ayarları public array $excel = [ 'default_format' => 'Xlsx', 'creator' => 'CodeIgniter 4 Saver', 'last_modified_by' => 'CodeIgniter 4 Saver', ]; // PDF ayarları public array $pdf = [ 'engine' => 'mpdf', // mpdf veya tcpdf 'default_orientation' => 'portrait', 'default_page_size' => 'A4', 'default_font' => 'dejavusans', ]; // Word ayarları public array $word = [ 'default_font' => 'Arial', 'default_font_size' => 11, ]; // HTML ayarları public array $html = [ 'template_path' => APPPATH . 'Views/saver/templates/', 'default_template' => 'default', ]; // CSV ayarları public array $csv = [ 'delimiter' => ',', 'enclosure' => '"', 'escape' => '\\', 'encoding' => 'UTF-8', ]; }
🔒 Dosya Koruması ve Antet
Şifre ile Koruma
// Excel - Düzenleme için şifre $saver->excel() ->setData($data) ->setFileName('korunmus.xlsx') ->setPassword('sifre123') ->download(); // Word - Düzenleme için şifre $saver->word() ->addTitle('Belge', 1) ->setPassword('sifre123') ->download(); // PDF - Düzenleme için şifre $saver->pdf() ->setContent($html) ->setPassword('sifre123') ->download();
Sadece Okuma Modu
// Düzenleme yasak, sadece görüntüleme $saver->excel() ->setData($data) ->setReadOnly(true) ->download();
Arka Plan Antet (Watermark)
// Metin antet $saver->excel() ->setData($data) ->setWatermark('GİZLİ - SADECE İÇ KULLANIM') ->download(); // Resim antet $saver->pdf() ->setContent($html) ->setWatermarkImage(ROOTPATH . 'public/images/watermark.png') ->download();
Kombine Kullanım
// Hem koruma hem antet $saver->pdf() ->setContent($html) ->setFileName('tam-korunmus.pdf') ->setPassword('sifre123') ->setWatermark('GİZLİ BELGE') ->setReadOnly(true) ->download();
Daha fazla örnek için PROTECTION_EXAMPLES.md dosyasına bakın.
🔧 Gelişmiş Özellikler
Excel'de Stil Ekleme
$saver->excel() ->setData($data) ->setHeaderStyle([ 'font' => ['bold' => true], 'fill' => ['fillType' => 'solid', 'startColor' => ['rgb' => 'FFFF00']] ]) ->setColumnWidths(['A' => 20, 'B' => 30]) ->download();
PDF'de Özel Ayarlar
$saver->pdf('mpdf') // veya 'tcpdf' ->setContent($html) ->setMargins(15, 15, 15, 15) ->setHeader('Başlık Metni') ->setFooter('Sayfa {PAGENO}') ->setWatermark('TASLAK') ->download();
Word'de Resim Ekleme
$saver->word() ->addTitle('Rapor', 1) ->addText('Açıklama metni') ->addImage('path/to/image.jpg', ['width' => 200, 'height' => 200]) ->addPageBreak() ->download();
🤝 Katkıda Bulunma
Katkılarınızı bekliyoruz! Pull request göndermekten çekinmeyin.
📄 Lisans
MIT Lisansı ile lisanslanmıştır.
👤 Yazar
Yakup EYİSAN
- Email: yakupeyisan@gmail.com
- GitHub: @yakupeyisan
🙏 Teşekkürler
Bu paket aşağıdaki harika kütüphaneleri kullanmaktadır:
yakupeyisan/codeigniter4-saver 适用场景与选型建议
yakupeyisan/codeigniter4-saver 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 12 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「excel」 「csv」 「word」 「pdf」 「html」 「document」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 yakupeyisan/codeigniter4-saver 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yakupeyisan/codeigniter4-saver 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 yakupeyisan/codeigniter4-saver 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine
Yii2 export extension
PHP Excel Library
Unofficial port of the Carbone API SDK to Saloon v3
laravel facade to read/write csv file
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-22