Перетворення даних простого тексту у структурований файл 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
);
  1. Створіть потік виводу 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());
   }

Виконуючи ці кроки, ви отримуєте чистий PHP TXT to CSV conversion, який уникає будь‑яких зовнішніх інструментів або проміжних файлів.

Повний приклад коду: TXT у CSV без зовнішніх інструментів у PHP з Barcode API

Нижче наведений приклад містить повну реалізацію, описану у кроках. Він читає вхідний файл TXT, записує вихідний CSV і демонструє простий виклик генерації штрих‑коду.

<?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
    
  3. Викликати спеціальний кінцевий пункт конвертації (гіпотетичний) який читає завантажений 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 контракту перегляньте офіційну документацію 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‑runtime від важкого навантаження на процесор.
  • Широка підтримка символіки - Понад 150 типів штрих‑кодів, корисно, коли потрібно вбудовувати штрих‑коди у CSV‑вивід для подальшого сканування.
  • Безпечна інтеграція з хмарним сховищем - Пряме читання та запис у сховище Aspose Cloud, спрощуючи роботу з файлами великих наборів даних.
  • Всеохопний REST API - Дозволяє виклики, незалежні від мови, як продемонстровано у розділі cURL.
  • Докладна документація - Повні посібники та довідкові матеріали доступні на сайті документації.

Налаштування параметрів конвертації для чистої обробки TXT у PHP

Ви можете налаштувати поведінку конвертації, змінюючи кілька змінних:

  • Роздільник - Змініть $txtDelimiter, щоб відповідало вашому вихідному файлу (кома, вертикальна риска тощо).

    $txtDelimiter = ",";
    
  • Encoding - Використовуйте 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‑вивід за потреби. Наведений приклад коду та workflow cURL дають два гнучкі способи інтегрувати цю функціональність у будь‑який PHP‑застосунок. Пам’ятайте отримати належну ліцензію для продакшн‑використання; деталі ціноутворення доступні на сторінці продукту, а тимчасову ліцензію можна запросити на temporary license page. Починайте інтегрувати вже сьогодні і оптимізуйте свої конвеєри даних з упевненістю.

Питання та відповіді

  • Як реалізувати конвертацію TXT у CSV без зовнішніх інструментів у PHP, використовуючи Aspose.BarCode Cloud SDK?
    Дотримуйтесь покрокового посібника вище: встановіть SDK, налаштуйте облікові дані, прочитайте TXT за допомогою SplFileObject, розділіть кожен рядок за вашим роздільником і запишіть рядки за допомогою fputcsv. Повний код надається у розділі «Повний приклад коду».

  • Чи можу я змінити розділювач для різних форматів TXT?
    Так. Змініть змінну $txtDelimiter у скрипті, щоб вона відповідала символу, який розділяє поля у вашому вихідному файлі (наприклад, "," для ком або "|" для вертикальної риски).

  • Що робити, якщо мій TXT файл містить символи Unicode?
    Переконайтеся, що файл збережено у форматі UTF‑8. Якщо потрібно конвертувати з іншого кодування, використовуйте mb_convert_encoding для кожного рядка перед розбиттям.

  • Чи потрібен крок генерації штрихкоду для конвертації TXT у CSV?
    Ні, генерація штрихкоду є необов’язковою і лише демонструє, як той самий SDK можна використати для додаткових завдань. Ви можете пропустити розділ зі штрихкодом, якщо вам потрібен лише CSV‑вивід.

Читати далі