უბრალო‑ტექსტის მონაცემების კონვერტირება სტრუქტურირებულ CSV ფაილში ხშირად საჭიროა მონაცემთა ნაკადებში, განსაკუთრებით ლოგებთან ან მოძველებული ექსპორტებთან მუშაობისას. Aspose.BarCode Cloud SDK for PHP ძლიერი ბიბლიოთეკა, რომელიც მუშაობს თქვენს სერვერზე და არ საჭიროებს გარე უტილიტებს. ეს გიდი აჩვენებს, როგორ მივაღწიოთ TXT to CSV without External tools in PHP, მიწოდებით მეხსიერების ეფექტურ გადაწყვეტას, რომელიც პირდაპირ იკითხავს და იწერს ნაკადებს. თქვენ ასევე ნახავთ სწრაფ ბარკოდის გენერაციის მაგალითს, რომელიც აჩვენებს SDK-ის ძირითად შესაძლებლობებს.
PHP-ში TXT-ის CSV-ში გადაყვანის ნაბიჯები გარე ხელსაწყოების გარეშე
-
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 ფაილში გამოყენებული დელიმიტერი (მაგალითად, tab).
$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()); }
<!--[CODE_SNIPPET_END]-->
ამ ნაბიჯებს მიყოლით მიიღებთ სუფთა‑PHP **TXT to CSV conversion**, რომელიც არ იყენებს გარე ინსტრუმენტებს ან საშუალო ფაილებს.
## სრული კოდის მაგალითი: 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, ა.შ.) თქვენი რეალური ფაილების მდებარეობის შესაბამისობაში, გადაამოწმეთ, რომ ყველა საჭირო დამოკიდებულება სწორად დაინსტალირებულია, და სრულად დატესტეთ თქვენი განვითარების გარემოში. თუ რაიმე პრობლემას შეხვდებით, გთხოვთ მიმართოთ ოფიციალურ დოკუმენტაციას ან დაუკავშირდეთ მხარდაჭერის გუნდს დახმარებისთვის.
REST API TXT ფაილების CSV-ზე გადაყვანა 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 -
გამოძახეთ მორგებული კონვერსიის endpoint (ჰიპოთეტიკური) რომელიც იკითხავს ატვირთულ 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 -
გადმოწერეთ უახლესი გამოშვება თუ თქვენ უპირატესობას აძლევთ ხელით ინსტალაციას:
-
წინაპირობები: PHP 7.4 ან უფრო ახალი, მოქმედ Aspose Cloud ანგარიში, და კლიენტის ავტორიზაციის დეტალები (
AppSidდაAppKey). -
ავტოლოდინგის კონფიგურაცია (ავტომატურად შესრულებულია Composer-ის მიერ). დამატებითი ნაბიჯები არ არის საჭირო.
Aspose.BarCode Cloud PHP Capabilities That Matter for TXT to CSV
- მაღალი წარმადობის ღრუბლოვანი დამუშავება - ყველა ბარკოდის ოპერაცია შესრულდება Aspose სერვერებზე, რაც თქვენი PHP გარემოს დატვირთვას ცოცხალი CPU‑ისგან გამორიცხავს.
- დიდი სიმბოლიკის მხარდაჭერა - მეტი 150 ბარკოდის ტიპი, რაც სასარგებლოა, როდესაც გჭირდებათ ბარკოდების ჩასმა CSV‑ის გამოტანილში ქვედა სკანირებისთვის.
- უსაფრთხო ღრუბლოვანი შენახვის ინტეგრაცია - პირდაპირის წაკითხვა და ჩაწერა Aspose Cloud შენახვიდან, რაც მარტივად აძლიერებს ფაილების დამუშავებას დიდი მონაცემთა ნაკადებისთვის.
- სრული REST API - აძლიერებს ენისგან დამოუკიდებელ გამოძახებებს, როგორც cURL განყოფილებაში წარმოდგენილია.
- დეტალური დოკუმენტაცია - სრული სახელმძღვანელოები და მიმართვის მასალები ხელმისაწვდომია დოკუმენტაციის საიტზე.
სუფთა PHP TXT დამუშავებისთვის კონვერსიის პარამეტრების კონფიგურირება
თქვენ შეგიძლიათ შეცვალოთ კონვერსიის ქცევა რამდენიმე ცვლადის რეგულირებით:
-
გამყოფი - შეცვალეთ
$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 ბლოკებით, რათა დაიჭიროთ I/O გამონაკლისები.
კონფიგურაციის თვისებების სრულ სიას მიმართეთ API მითითებას.
დასკვნა
TXT-ს CSV-ში გადაყვანა გარე ინსტრუმენტების გარეშე PHP-ში მარტივია, როდესაც იყენებთ Aspose.BarCode Cloud SDK for PHP. SplFileObject-ის გამოყენებით თქვენ მინიმალურ მეხსიერების მოხმარებას იძლევა, ხოლო SDK-ის ღრუბლოვანი ბარკოდების ფუნქციები საშუალებას გაძლევთ, საჭიროების შემთხვევაში, თქვენი CSV-გამოტანის გაფართოების. მოცემული კოდის მაგალითი და cURL სამუშაო პროცესი გაძლევთ ორ მოქნილ გზას, რომ ეს ფუნქციონალი ინტეგრირდეს ნებისმიერი PHP აპლიკაციაში. დამახსოვრეთ, რომ მიიღოთ შესაბამისი ლიცენზია პროდუქციის კომერციული გამოყენებისთვის; ფასის დეტალები ხელმისაწვდომია პროდუქტის გვერდზე, ხოლო დროებით ლიცენზია შეიძლება მოთხოვნათ დროებითი ლიცენზიის გვერდი. დაიწყეთ ინტეგრირება დღესვე და გაამარტივეთ თქვენი მონაცემთა ნაკადები დარწმუნებით.
ხშირად დასმული კითხვები
-
როგორ შემიძლია TXT‑დან CSV‑ში გადაყვანა გარე ინსტრუმენტების გარეშე PHP-ში, Aspose.BarCode Cloud SDK-ის გამოყენებით?
მიმდევრულად მიჰყევით ზემოთ მოცემულ ნაბიჯ‑ნაბიჯ გზამკვლევს: დააყენეთ SDK, კონფიგურირეთ ავტორიზაციის დეტალები, წაიკითხეთ TXTSplFileObject‑ით, გაყოფეთ თითოეული ხაზი თქვენი გამყოფის მიხედვით, და ჩაწერეთ რიგებიfputcsv‑ით. სრული კოდი წარმოდგენილია Complete Code Example განყოფილებაში. -
შეიძლება თუ არა TXT ფორმატებისთვის დელიმიტერის შეცვლა?
დიახ. შეცვალეთ$txtDelimiterცვლადი სკრიპტში, ώστε შეესაბამებოდეს სიმბოლოს, რომელიც თქვენს წყაროს ფაილში ველები იზიარებს (მაგალითად,","კომისებისთვის ან"|"პიპებისთვის). -
თუ ჩემი TXT ფაილი შეიცავს უნიკოდ სიმბოლოებს?
დარწმუნდით, რომ ფაილი შენახულია UTF‑8 ფორმატში. თუ საჭიროა სხვა კოდირებიდან გადაყვანა, გამოიყენეთmb_convert_encodingთითოეულ ხაზზე, სანამ მას გაყოფთ. -
TXT-დან CSV-ში გადაყვანისთვის საჭიროა ბარკოდის გენერაციის ნაბიჯი?
არა, ბარკოდის გენერაცია არჩევითი არის და მხოლოდ აჩვენებს, როგორ შეიძლება იგივე SDK-ს გამოყენება დამატებით დავალებებისთვის. თუ მხოლოდ CSV-გამოტანა გჭირდებათ, შეგიძლიათ ბარკოდის განყოფილება გამოტოვოთ.