تحويل بيانات النص العادي إلى ملف CSV منظم هو حاجة متكررة في خطوط البيانات، خاصةً عند التعامل مع السجلات أو الصادرات القديمة. يوفر Aspose.BarCode Cloud SDK for PHP مكتبة قوية تعمل على الخادم الخاص بك ولا تحتاج إلى أدوات خارجية. يوضح هذا الدليل كيفية تحقيق TXT إلى CSV دون أدوات خارجية في PHP، مقدمًا حلاً فعالًا من حيث الذاكرة يقرأ ويكتب التدفقات مباشرة. ستشاهد أيضًا مثالًا سريعًا لتوليد الباركود يُظهر قدرات SDK الأساسية.

خطوات تحويل TXT إلى CSV دون أدوات خارجية في PHP

  1. تثبيت SDK عبر Composer: تشغيل أمر التثبيت الرسمي لإضافة المكتبة إلى مشروعك.

    composer require aspose/barcode-cloud-php
    
  2. تكوين بيانات اعتماد العميل: أنشئ كائن Configuration وقم بتعيين AppSid و AppKey الخاصين بك.

$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
$config->setHost('https://api.aspose.cloud');
$barcodeApi = new BarCodeApi($config);

راجع مرجع API للحصول على توثيق مفصل للفئات.

  1. افتح ملف TXT المصدر باستخدام SplFileObject: تُقرأ هذه الفئة الملف سطرًا بسطر، مع الحفاظ على استهلاك الذاكرة منخفضًا.

    $txtFile = new SplFileObject($inputTxtPath, 'r');
    $txtFile->setFlags(
        SplFileObject::READ_AHEAD |
        SplFileObject::SKIP_EMPTY |
        SplFileObject::DROP_NEW_LINE
    );
    
  2. إنشاء تدفق CSV وتعريف الفاصل المستخدم في ملف TXT (مثلاً، علامة التبويب).

$csvHandle = fopen($outputCsvPath, 'w');
$txtDelimiter = "\t";
  1. معالجة كل سطر، تقسيم الحقول، والكتابة إلى CSV. تتخطى الحلقة السطور الفارغة وتزيل المسافات البيضاء.
while (!$txtFile->eof()) {
    $rawLine = $txtFile->fgets();
    if ($rawLine === false) {
        continue;
    }

$line = trim($rawLine);
    if ($line === '') {
        continue;
    }

$fields = explode($txtDelimiter, $line);
    fputcsv($csvHandle, $fields);
}
  1. تنظيف الموارد وإنتاج عينة من الباركود اختياريًا لتوضيح استخدام SDK.
    fclose($csvHandle);
    $txtFile = null;
    

$barcodeRequest = new GenerateBarcodeRequest([ ’text’ => ‘Sample’, ’type’ => ‘Code128’, ‘format’ => ‘png’, ‘out_path’ => DIR . ‘/sample_barcode.png’ ]);

try { $barcodeApi->generateBarcode($barcodeRequest); } catch (Exception $e) { error_log(‘Barcode generation error: ’ . $e->getMessage()); }

<!--[CODE_SNIPPET_END]-->

اتباع هذه الخطوات يمنحك تحويل **TXT إلى CSV** نقي باستخدام PHP فقط، يتجنب أي أدوات خارجية أو ملفات وسيطة.

## مثال كامل للكود: TXT إلى CSV دون أدوات خارجية في PHP مع Barcode API
المثال أدناه يحتوي على التنفيذ الكامل الموضح في الخطوات. يقرأ ملف TXT كمدخل، يكتب مخرجات CSV، ويظهر استدعاءً بسيطًا لتوليد الباركود.

```php
<?php
require_once __DIR__ . '/vendor/autoload.php';

use Aspose\BarCode\Cloud\BarCodeApi;
use Aspose\BarCode\Cloud\Configuration;
use Aspose\BarCode\Cloud\Model\Requests\GenerateBarcodeRequest;

// -------------------------------------------------
// Aspose.BarCode Cloud SDK initialization (demo)
// -------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');          // replace with your client id
$config->setAppKey('YOUR_CLIENT_SECRET');     // replace with your client secret
$config->setHost('https://api.aspose.cloud');
$barcodeApi = new BarCodeApi($config);

// -------------------------------------------------
// File paths (adjust as needed)
// -------------------------------------------------
$inputTxtPath  = __DIR__ . '/input.txt';
$outputCsvPath = __DIR__ . '/output.csv';

// -------------------------------------------------
// Open TXT file with SplFileObject for low memory usage
// -------------------------------------------------
$txtFile = new SplFileObject($inputTxtPath, 'r');
$txtFile->setFlags(
 SplFileObject::READ_AHEAD |
 SplFileObject::SKIP_EMPTY |
 SplFileObject::DROP_NEW_LINE
);

// -------------------------------------------------
// Open CSV output stream
// -------------------------------------------------
$csvHandle = fopen($outputCsvPath, 'w');
if ($csvHandle === false) {
 throw new RuntimeException('Unable to open CSV output file.');
}

// -------------------------------------------------
// Define the delimiter used in the TXT file (e.g., tab)
// -------------------------------------------------
$txtDelimiter = "\t";

// -------------------------------------------------
// Process each line: split and write to CSV
// -------------------------------------------------
while (!$txtFile->eof()) {
 $rawLine = $txtFile->fgets();
 if ($rawLine === false) {
     continue;
 }

$line = trim($rawLine);
 if ($line === '') {
     continue;
 }

$fields = explode($txtDelimiter, $line);
 fputcsv($csvHandle, $fields);
}

// -------------------------------------------------
// Cleanup resources
// -------------------------------------------------
fclose($csvHandle);
$txtFile = null;

// -------------------------------------------------
// Optional: generate a sample barcode to show SDK usage
// -------------------------------------------------
$barcodeRequest = new GenerateBarcodeRequest([
 'text'      => 'Sample',
 'type'      => 'Code128',
 'format'    => 'png',
 'out_path'  => __DIR__ . '/sample_barcode.png'
]);

try {
 $barcodeApi->generateBarcode($barcodeRequest);
} catch (Exception $e) {
 error_log('Barcode generation error: ' . $e->getMessage());
}
?>

ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث مسارات الملفات (input.txt، output.csv، إلخ) لتطابق مواقع ملفاتك الفعلية، وتحقق من تثبيت جميع الاعتمادات المطلوبة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى التوثيق الرسمي أو التواصل مع فريق الدعم للحصول على المساعدة.

تحويل ملفات TXT إلى CSV عبر REST API باستخدام cURL

يمكن تنفيذ نفس التحويل عبر Aspose.BarCode Cloud REST API. أدناه مثال على سير عمل نموذجي باستخدام cURL.

  1. الحصول على رمز وصول (استبدل العناصر النائبة ببيانات الاعتماد الخاصة بك).

    curl -X POST "https://api.aspose.cloud/connect/token" \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
    
  2. تحميل ملف TXT المصدر إلى التخزين السحابي.

curl -X PUT "https://api.aspose.cloud/v3.0/storage/file/input.txt" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: text/plain" \
     --data-binary @input.txt
  1. استدعاء نقطة تحويل مخصصة (افتراضية) التي تقرأ ملف TXT المرفوع وتعيد محتوى CSV.
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert/txt-to-csv" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"input.txt","outputPath":"output.csv","delimiter":"\\t"}'
  1. قم بتنزيل ملف CSV الناتج.
    curl -X GET "https://api.aspose.cloud/v3.0/storage/file/output.csv" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.csv
    

للحصول على عقد API الدقيق، راجع الوثائق الرسمية لواجهة برمجة التطبيقات.

تحضير البيئة لـ Aspose.BarCode Cloud PHP

  1. تثبيت المكتبة باستخدام Composer:

    composer require aspose/barcode-cloud-php
    
  2. قم بتنزيل أحدث إصدار إذا كنت تفضل التثبيت اليدوي:
    https://releases.aspose.cloud/barcode/php/

  3. المتطلبات المسبقة: PHP 7.4 أو أحدث، حساب Aspose Cloud صالح، وبيانات اعتماد العميل (AppSid و AppKey).

  4. تكوين التحميل التلقائي (يتم معالجته تلقائيًا بواسطة Composer). لا خطوات إضافية مطلوبة.

Aspose.BarCode Cloud PHP إمكانيات التي تهم تحويل TXT إلى CSV

  • معالجة سحابية عالية الأداء - جميع عمليات الباركود تُجرى على خوادم Aspose، مما يحرّر بيئة تشغيل PHP من عبء المعالجة المكثف.
  • دعم واسع للرموز - أكثر من 150 نوعًا من الباركود، مفيد عندما تحتاج إلى تضمين الباركود في مخرجات CSV لعملية المسح اللاحقة.
  • تكامل آمن مع التخزين السحابي - قراءة وكتابة مباشرة إلى تخزين Aspose Cloud، مما يبسط التعامل مع الملفات للبيانات الضخمة.
  • واجهة برمجة تطبيقات REST شاملة - تمكّن من استدعاءات مستقلة عن اللغة، كما هو موضح في قسم cURL.
  • توثيق مفصل - الأدلة الكاملة ومواد المرجعية متاحة على موقع التوثيق.

تكوين خيارات التحويل لمعالجة TXT باستخدام Pure PHP

يمكنك تعديل سلوك التحويل عن طريق ضبط بعض المتغيرات:

  • الفاصل - غيّر $txtDelimiter لتتناسب مع ملف المصدر الخاص بك (فاصلة، أنبوب، إلخ).
$txtDelimiter = ",";
  • الترميز - استخدم mb_convert_encoding إذا كان ملف TXT الخاص بك يستخدم مجموعة أحرف مختلفة.
$line = mb_convert_encoding($line, 'UTF-8', 'ISO-8859-1');
  • CSV Enclosure - مرّر معلمات إضافية إلى fputcsv للتحكم في الاقتباس.

    fputcsv($csvHandle, $fields, $delimiter = ',', $enclosure = '"');
    
  • معالجة الأخطاء - قم بلف عمليات الملفات في كتل try‑catch لالتقاط استثناءات الإدخال/الإخراج.

للحصول على قائمة كاملة بخصائص التكوين، راجع مرجع API.

الخلاصة

تحويل TXT إلى CSV دون أدوات خارجية في PHP سهل عندما تستفيد من Aspose.BarCode Cloud SDK for PHP. باستخدام SplFileObject تحتفظ باستخدام الذاكرة إلى الحد الأدنى، وتسمح ميزات الباركود القائمة على السحابة في SDK بإثراء مخرجات CSV عند الحاجة. يوفر مثال الكود المقدم وتدفق عمل cURL طريقتين مرنتين لدمج هذه الوظيفة في أي تطبيق PHP. تذكر الحصول على ترخيص مناسب للاستخدام في الإنتاج؛ تفاصيل التسعير متاحة على صفحة المنتج، ويمكن طلب ترخيص مؤقت من صفحة الترخيص المؤقت. ابدأ بالدمج اليوم وسهّل خطوط بياناتك بثقة.

الأسئلة الشائعة

  • كيف يمكنني تنفيذ تحويل TXT إلى CSV دون أدوات خارجية في PHP باستخدام Aspose.BarCode Cloud SDK؟
    اتبع الدليل خطوة بخطوة أعلاه: قم بتثبيت SDK، وتكوين بيانات الاعتماد، وقراءة ملف TXT باستخدام SplFileObject، وقم بتقسيم كل سطر باستخدام الفاصل الخاص بك، واكتب الصفوف باستخدام fputcsv. يتم توفير الشيفرة الكاملة في قسم مثال الشيفرة الكامل.

  • هل يمكنني تغيير الفاصل لتنسيقات TXT المختلفة؟
    نعم. قم بتعديل المتغير $txtDelimiter في البرنامج النصي ليتطابق مع الحرف الذي يفصل الحقول في ملف المصدر الخاص بك (مثلاً "," للفواصل أو "|" للأنابيب).

  • ماذا لو كان ملف TXT الخاص بي يحتوي على أحرف يونيكود؟
    تأكد من حفظ الملف بصيغة UTF‑8. إذا كنت بحاجة إلى التحويل من ترميز آخر، استخدم mb_convert_encoding على كل سطر قبل تقسيمه.

  • هل خطوة إنشاء الباركود مطلوبة لتحويل TXT إلى CSV؟
    لا، إنشاء الباركود اختياري ويُظهر فقط كيف يمكن استخدام نفس SDK لمهام إضافية. يمكنك حذف قسم الباركود إذا كنت تحتاج فقط إلى إخراج CSV.

Read More