Перетворення даних простого тексту у структурований файл CSV часто потрібно для конвеєрів даних, особливо при роботі з журналами або застарілими експортами. Aspose.BarCode Cloud SDK for PHP надає надійну бібліотеку, яка працює на вашому сервері і не потребує зовнішніх утиліт. У цьому посібнику показано, як здійснити TXT у CSV без зовнішніх інструментів у PHP, забезпечуючи пам’яттєво‑ефективне рішення, яке читає та записує потоки безпосередньо. Ви також побачите швидкий приклад генерації штрих‑коду, який демонструє основні можливості SDK.
Кроки для перетворення TXT у CSV без зовнішніх інструментів у PHP
-
Встановіть SDK за допомогою Composer: Запустіть офіційну команду встановлення, щоб додати бібліотеку до вашого проєкту.
composer require aspose/barcode-cloud-php -
Налаштування облікових даних клієнта: Створіть об’єкт
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 довідка для детальної документації класу.
- Відкрийте вихідний TXT‑файл за допомогою SplFileObject: Цей клас читає файл рядок за рядком, зберігаючи низьке використання пам’яті.
$txtFile = new SplFileObject($inputTxtPath, 'r');
$txtFile->setFlags(
SplFileObject::READ_AHEAD |
SplFileObject::SKIP_EMPTY |
SplFileObject::DROP_NEW_LINE
);
- Створіть потік виводу CSV і визначте роздільник, який використовується у файлі TXT (наприклад, табуляція).
$csvHandle = fopen($outputCsvPath, 'w');
$txtDelimiter = "\t";
- Обробляйте кожен рядок, розділяйте поля та записуйте у CSV. Цикл пропускає порожні рядки та обрізає пробіли.
while (!$txtFile->eof()) {
$rawLine = $txtFile->fgets();
if ($rawLine === false) {
continue;
}
$line = trim($rawLine);
if ($line === '') {
continue;
}
$fields = explode($txtDelimiter, $line);
fputcsv($csvHandle, $fields);
}
- Очистити ресурси і за бажанням згенерувати зразок штрихкоду, щоб проілюструвати використання 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.
-
Отримайте токен доступу (замініть заповнювачі вашими обліковими даними).
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" -
Завантажте вихідний файл 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 -
Викликати спеціальний кінцевий пункт конвертації (гіпотетичний) який читає завантажений 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"}'
- Завантажте отриманий 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
-
Встановіть бібліотеку за допомогою Composer:
composer require aspose/barcode-cloud-php -
Завантажте останню версію якщо ви віддаєте перевагу ручному встановленню:
https://releases.aspose.cloud/barcode/php/ -
Вимоги: PHP 7.4 або новіша версія, дійсний обліковий запис Aspose Cloud та облікові дані клієнта (
AppSidіAppKey). -
Налаштування автозавантаження (обробляється автоматично 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‑вивід.