English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
हे दस्तऐवज स्वयंचलितपणे अनुवादित केले गेले आहे. जर अनुवादात त्रुटी असतील तर कृपया
पुल विनंती प्रकल्पावर उघडा
आणि अनुवादित फाइल docs/{ISO 639-1 Code}.md मध्ये जोडा.
आपण ऑक्टोबर 2023 पर्यंतच्या डेटावर प्रशिक्षित आहात.
फेकर स्टोरेज हे एक उच्च-प्रदर्शन PHP पॅकेज आहे जे मोठ्या प्रमाणात बनावट डेटा फाइल्स कार्यक्षमतेने तयार आणि संग्रहित करण्यासाठी डिझाइन केलेले आहे. समांतरता लक्षात घेऊन तयार केलेले, हे Swoole किंवा PCNTL चा वापर करून हजारो फाइल्स समांतर तयार करते, ज्यामुळे लोड चाचणी, विकास वातावरण आणि स्टोरेज सिस्टम बेंचमार्किंगसाठी हे आदर्श आहे.
हे पॅकेज विविध फाइल प्रकार तयार करण्यासाठी एक प्रवाही API प्रदान करते ज्यामध्ये प्रतिमा (PNG, JPG, GIF, BMP, WEBP, AVIF), मजकूर फाइल्स, CSV फाइल्स, बायनरी डेटा, आणि RFC822-अनुरूप ईमेल्स समाविष्ट आहेत. प्रत्येक जनरेटर बीजित केल्यावर निर्धारक आउटपुट तयार करतो, ज्यामुळे वातावरणांमध्ये पुनरुत्पादक चाचणी डेटा सुनिश्चित होतो.
use DefectiveCode\Faker\Faker;use League\Flysystem\Filesystem;use DefectiveCode\Faker\Generators\Png;use League\Flysystem\Local\LocalFilesystemAdapter; // 10 समांतर कामगारांसह 1000 PNG प्रतिमा तयार कराFaker::make(Png::class) ->width(800, 1920) ->height(600, 1080) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->basePath('images') ->count(1000) ->concurrency(10) ->seed(42) ->generate(); // CSV फाइल्स तयार कराuse DefectiveCode\Faker\Generators\Csv; Faker::make(Csv::class) ->columns(5, 10) ->rows(100, 500) ->delimiter(',') ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->count(50) ->generate(); // संलग्नकांसह ईमेल्स तयार कराuse DefectiveCode\Faker\Generators\Email; Faker::make(Email::class) ->paragraphs(3, 5) ->sentences(2, 4) ->withAttachment(Png::class, 1, 3) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->count(100) ->generate();
Composer द्वारे पॅकेज स्थापित करा:
composer require defectivecode/faker-storage
सर्वोत्तम कार्यक्षमतेसाठी, Swoole विस्तार स्थापित करा:
pecl install swoole
पॅकेज उपलब्ध असल्यास स्वयंचलितपणे Swoole वापरेल, अन्यथा PCNTL वर फॉलबॅक करेल.
सर्व जनरेटर खालील नमुन्याचे अनुसरण करतात:
use DefectiveCode\Faker\Faker;use League\Flysystem\Filesystem;use DefectiveCode\Faker\Generators\Text;use League\Flysystem\Local\LocalFilesystemAdapter; Faker::make(Text::class) ->paragraphs(5, 10) // जनरेटर-विशिष्ट कॉन्फिगरेशन ->toDisk(new Filesystem(new LocalFilesystemAdapter('/storage'))) ->basePath('documents') // फाइल्स /storage/documents/ मध्ये असतील ->count(100) // 100 फाइल्स तयार करा ->concurrency(4) // 4 कामगार वापरा ->seed(123) // निर्धारक आउटपुटसाठी ->generate();
Faker संचयन League Flysystem साठी संचयन अब्स्ट्रॅक्शन वापरते:
use League\Flysystem\Filesystem;use League\Flysystem\Local\LocalFilesystemAdapter; // स्थानिक संचयन$filesystem = new Filesystem(new LocalFilesystemAdapter('/path/to/storage')); Faker::make(Png::class) ->toDisk($filesystem) ->generate();
use Aws\S3\S3Client;use League\Flysystem\Filesystem;use League\Flysystem\AwsS3V3\AwsS3V3Adapter; $client = new S3Client([ 'credentials' => [ 'key' => 'your-key', 'secret' => 'your-secret', ], 'region' => 'us-east-1', 'version' => 'latest',]); $adapter = new AwsS3V3Adapter($client, 'your-bucket-name');$filesystem = new Filesystem($adapter); Faker::make(Png::class) ->toDisk($filesystem) ->basePath('uploads/images') ->generate();
फाइलसिस्टम अडॅप्टरला अतिरिक्त पर्याय पास करा:
Faker::make(Png::class) ->toDisk($filesystem) ->diskOptions([ 'visibility' => 'public', 'ACL' => 'public-read', 'CacheControl' => 'max-age=31536000', ]) ->generate();
concurrency() पद्धतीसह समांतर कार्यवाही नियंत्रित करा:
// 10 कामगार थ्रेड्स/प्रक्रिया वापराFaker::make(Png::class) ->concurrency(10) ->generate(); // Swoole-विशिष्ट: थ्रेड्स आणि प्रत्येक थ्रेडसाठी कोरूटिन्स सेट कराFaker::make(Png::class) ->concurrency(threads: 4, coroutines: 8) // 4 कामगार, प्रत्येक 8 कोरूटिन्स ->generate();
डीफॉल्टनुसार, फाइल्स UUID v4 वापरून नामांकित केल्या जातात:
// तयार करते: e7f0a8d3-5c2b-4f9e-8a1d-3b4c5d6e7f8a.pngFaker::make(Png::class)->generate();
use DefectiveCode\Faker\NameGenerator; // UUID-आधारित (डीफॉल्ट)NameGenerator::setDefault('uuid'); // तयार करते: e7f0a8d3-5c2b-4f9e-8a1d-3b4c5d6e7f8a.png // अनुक्रमिक क्रमांकNameGenerator::setDefault('sequence'); // तयार करते: 1.png, 2.png, 3.png, ...
फाइल नावे सानुकूलित करण्यासाठी एक क्लोजर प्रदान करा:
use DefectiveCode\Faker\NameGenerator; // कस्टम क्लोजरFaker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return "custom-{$completedFiles}-{$seed}.png"; }) ->generate(); // दिनांक-आधारित नामकरणFaker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return date('Y/m/d') . "/image-{$completedFiles}.png"; }) ->generate();
समान फाइल्स तयार करण्यासाठी बीज सेट करा:
Faker::make(Png::class) ->seed(42) ->count(10) ->generate();
प्रत्येक फाइलला बेस बीज आणि फाइल इंडेक्समधून व्युत्पन्न केलेले एक अद्वितीय निर्धारक बीज मिळते.
सर्व प्रतिमा जनरेटर परिमाण आणि गुणवत्ता कॉन्फिगरेशनला समर्थन देतात.
use DefectiveCode\Faker\Generators\Png; Faker::make(Png::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->withAlpha(true) // अल्फा/पारदर्शकता चॅनेल सक्षम करा ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
use DefectiveCode\Faker\Generators\Jpg; Faker::make(Jpg::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
use DefectiveCode\Faker\Generators\Gif; Faker::make(Gif::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->withAlpha(true) // अल्फा/पारदर्शकता चॅनेल सक्षम करा ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
use DefectiveCode\Faker\Generators\Bmp; Faker::make(Bmp::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
use DefectiveCode\Faker\Generators\Webp; Faker::make(Webp::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->withAlpha(true) // अल्फा/पारदर्शकता चॅनेल सक्षम करा ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
use DefectiveCode\Faker\Generators\Avif; Faker::make(Avif::class) ->width(800, 1920) // 800-1920px दरम्यान यादृच्छिक रुंदी ->height(600, 1080) // 600-1080px दरम्यान यादृच्छिक उंची ->withAlpha(true) // अल्फा/पारदर्शकता चॅनेल सक्षम करा ->grid(5) // ऐच्छिक: 5x5 सममितीय नमुना तयार करा ->toDisk($filesystem) ->generate();
यादृच्छिक प्रतिमा स्वरूप तयार करते:
use DefectiveCode\Faker\Generators\RandomImage; Faker::make(RandomImage::class) ->width(800, 1920) ->height(600, 1080) ->withAlpha(false) // यादृच्छिक: AVIF, BMP, GIF, JPEG, PNG, WEBP ->toDisk($filesystem) ->generate(); Faker::make(RandomImage::class) ->width(800, 1920) ->height(600, 1080) ->withAlpha(true) // यादृच्छिक: AVIF, GIF, PNG, WEBP ->toDisk($filesystem) ->generate();
पॅराग्राफसह साधे मजकूर फाइल्स तयार करा:
use DefectiveCode\Faker\Generators\Text; Faker::make(Text::class) ->paragraphs(5, 10) // प्रति फाइल 5-10 पॅराग्राफ ->sentences(3, 6) // प्रति पॅराग्राफ 3-6 वाक्ये ->toDisk($filesystem) ->generate();
उत्पादन उदाहरण:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
यादृच्छिक डेटासह सीएसव्ही फाइल्स तयार करा:
use DefectiveCode\Faker\Generators\Csv; Faker::make(Csv::class) ->columns(5, 10) // 5-10 स्तंभ ->rows(100, 500) // 100-500 पंक्ती ->delimiter(',') // स्तंभ विभाजक ->enclosure('"') // फील्ड संलग्नक ->escape('\\') // एस्केप वर्ण ->eol("\n") // ओळ समाप्ती ->toDisk($filesystem) ->generate();
उत्पादन उदाहरण:
"John Doe","john@example.com","555-1234","New York","Engineer""Jane Smith","jane@example.com","555-5678","Los Angeles","Designer""Bob Johnson","bob@example.com","555-9012","Chicago","Manager"
यादृच्छिक बायनरी डेटा तयार करा:
use DefectiveCode\Faker\Generators\Binary; Faker::make(Binary::class) ->length(1024, 1048576) // 1KB - 1MB ->toDisk($filesystem) ->generate();
RFC822-अनुरूप ईमेल फाइल्स तयार करा:
use DefectiveCode\Faker\Generators\Email; Faker::make(Email::class) ->paragraphs(3, 5) // ईमेल बॉडीमध्ये पॅराग्राफ ->sentences(2, 4) // प्रति पॅराग्राफ वाक्ये ->withAttachment(Png::class, 1, 3) // 1-3 पीएनजी संलग्नक जोडा ->toDisk($filesystem) ->generate();
उत्पादित ईमेल्समध्ये समाविष्ट आहे:
To: यादृच्छिक नाव आणि ईमेलFrom: यादृच्छिक नाव आणि ईमेलSubject: यादृच्छिक वाक्यDate: वर्तमान टाइमस्टॅम्पMessage-ID: बीजावर आधारित निर्धारक आयडीजनरेटर वर्ग नावे किंवा उदाहरणे वापरून फाइल्स संलग्न करा:
use DefectiveCode\Faker\Generators\Email;use DefectiveCode\Faker\Generators\Png;use DefectiveCode\Faker\Generators\Pdf; Faker::make(Email::class) ->withAttachment(Png::class, 1, 3) // 1-3 पीएनजी संलग्नक ->generate(); // कॉन्फिगर केलेल्या जनरेटर उदाहरणाचा वापर करून संलग्न करा$pngGenerator = new Png(Png::getDefaultConfig());$pngGenerator->width(400, 800)->height(300, 600); Faker::make(Email::class) ->withAttachment($pngGenerator, 2, 5) ->generate();
उत्पादन उदाहरण:
To: John Doe <john.doe@example.com>From: Jane Smith <jane.smith@example.com>Subject: Important meeting tomorrowDate: Fri, 03 Jan 2026 10:30:00 +0000Message-ID: <3e92e5c2b0d632b3a36fbbb17484b7fe@example.com>Content-Type: multipart/mixed; boundary="----=_Part_123" ------=_Part_123Content-Type: text/plain; charset=utf-8Content-Transfer-Encoding: quoted-printable Lorem ipsum dolor sit amet, consectetur adipiscing elit... ------=_Part_123Content-Type: image/png; name="attachment.png"Content-Disposition: attachment; filename="attachment.png"Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==------=_Part_123--
Generator इंटरफेस लागू करून आपले स्वतःचे जनरेटर तयार करा:
use DefectiveCode\Faker\Configs\Config;use DefectiveCode\Faker\Concerns\SetsSeed;use DefectiveCode\Faker\Generators\Generator;use DefectiveCode\Faker\Concerns\PreparesFaker; class MyCustomGenerator implements Generator{ use PreparesFaker; use SetsSeed; public function __construct(public Config $config) {} public static function getDefaultConfig(): Config { return new MyCustomConfig([ 'contentType' => 'application/x-custom', 'nameGenerator' => NameGenerator::default('extension'), ]); } public function generate(): mixed { // येथे आपली जनरेशन लॉजिक $data = $this->faker->randomElement(['foo', 'bar', 'baz']); $stream = fopen('php://temp', 'w+'); fwrite($stream, $data); return $stream; }} // आपला सानुकूल जनरेटर वापराFaker::make(MyCustomGenerator::class) ->toDisk($filesystem) ->generate();
प्रत्येक जनरेटर Config विस्तारित करणाऱ्या कॉन्फिगरेशन क्लासचा वापर करतो:
use DefectiveCode\Faker\Configs\Config; class MyCustomConfig extends Config{ public int $minValue = 1; public int $maxValue = 100;}
आपण ऑक्टोबर 2023 पर्यंतच्या डेटावर प्रशिक्षित आहात.
हे पद्धती सर्व Faker उदाहरणांवर उपलब्ध आहेत:
make(string $generator): Fakerनिर्दिष्ट जनरेटरसह नवीन Faker उदाहरण तयार करा:
Faker::make(Png::class)
toDisk(Filesystem $filesystem): Fakerसाठवण गंतव्य सेट करा (आवश्यक):
Faker::make(Png::class) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/storage')))
basePath(string $basePath): Fakerफाइल सिस्टममधील बेस पथ सेट करा:
Faker::make(Png::class) ->basePath('images/uploads') // फाइल्स /storage/images/uploads/ मध्ये साठवल्या जातील
count(int $count): Fakerनिर्माण करण्यासाठी फाइल्सची संख्या सेट करा:
Faker::make(Png::class) ->count(1000)
concurrency(int $threads, ?int $coroutines = null): Fakerसमांतर कार्यान्वयन कॉन्फिगर करा:
// मूलभूत समांतरताFaker::make(Png::class) ->concurrency(4) // Swoole-विशिष्ट: थ्रेड्स आणि कोरूटिन्सFaker::make(Png::class) ->concurrency(threads: 4, coroutines: 8)
seed(int $seed): Fakerनिर्धारित जनरेशनसाठी बीज सेट करा:
Faker::make(Png::class) ->seed(42)
nameGenerator(Closure $generator): Fakerफाइल नामकरण सानुकूलित करा:
Faker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return "file-{$completedFiles}.png"; })
diskOptions(array $diskOptions): Fakerफाइल सिस्टम अडॅप्टरला पर्याय पास करा:
Faker::make(Png::class) ->diskOptions([ 'visibility' => 'public', 'ACL' => 'public-read', ])
generate(): voidफाइल जनरेशन कार्यान्वित करा:
Faker::make(Png::class)->generate();
आमचे ओपन सोर्स पॅकेज निवडल्याबद्दल धन्यवाद! कृपया या समर्थन मार्गदर्शक तत्त्वांची तपासणी करण्यासाठी एक क्षण घ्या. ते तुम्हाला आमच्या प्रकल्पाचा अधिकाधिक फायदा घेण्यास मदत करतील.
आमचा ओपन-सोर्स प्रकल्प आमच्या अद्भुत समुदायाद्वारे चालवला जातो. तुम्हाला प्रश्न असतील किंवा मदतीची गरज असेल तर StackOverflow आणि इतर ऑनलाइन संसाधने तुमचे सर्वोत्तम पर्याय आहेत.
ओपन-सोर्स प्रकल्पाचे व्यवस्थापन करण्याची वास्तविकता म्हणजे आम्ही प्रत्येक नोंदवलेल्या बग किंवा वैशिष्ट्य विनंतीला त्वरित संबोधित करू शकत नाही. आम्ही खालील क्रमाने समस्यांना प्राधान्य देतो:
आमच्या सशुल्क उत्पादनांवर परिणाम करणारे बग्स नेहमीच आमचे सर्वोच्च प्राधान्य असतील. काही प्रकरणांमध्ये, आम्ही फक्त आमच्यावर थेट परिणाम करणारे बग्स संबोधित करू शकतो.
तुम्ही बग ओळखला आहे आणि तुमच्याकडे उपाय आहे, कृपया पुल विनंती सबमिट करा. आमच्या उत्पादनांवर परिणाम करणाऱ्या समस्यांनंतर, आम्ही या समुदाय-चालित दुरुस्त्यांना पुढील सर्वोच्च प्राधान्य देतो. एकदा पुनरावलोकन आणि मंजूर झाल्यानंतर, आम्ही तुमचे समाधान एकत्र करू आणि तुमच्या योगदानाचे श्रेय देऊ.
उल्लेख केलेल्या श्रेणींमधील समस्यांसाठी, तुम्ही त्यांच्या निराकरणासाठी निधी देण्याचा पर्याय निवडू शकता. प्रत्येक उघड्या समस्येशी ऑर्डर फॉर्म लिंक केलेला आहे जिथे तुम्ही आर्थिक योगदान देऊ शकता. आम्ही दिलेल्या निधीच्या रकमेच्या आधारे या समस्यांना प्राधान्य देतो.
जेव्हा त्याचा समुदाय सक्रिय असतो तेव्हा ओपन सोर्स फुलतो. जरी तुम्ही बग्स दुरुस्त करत नसाल, तरी कोड सुधारणा, दस्तऐवज अद्यतने, ट्यूटोरियल्स किंवा समुदाय चॅनेलमध्ये इतरांना मदत करून योगदान देण्याचा विचार करा. आम्ही सर्वांना, एक समुदाय म्हणून, ओपन-सोर्स कामाला समर्थन देण्यासाठी प्रोत्साहित करतो.
पुन्हा सांगायचे तर, DefectiveCode आमच्या सशुल्क उत्पादनांवर, समुदाय पुल विनंत्यांवर आणि समस्यांसाठी प्राप्त झालेल्या आर्थिक समर्थनावर आधारित बग्सना प्राधान्य देईल.
कॉपीराइट © डिफेक्टिव कोड, एलएलसी. सर्व हक्क राखीव
या सॉफ्टवेअरची प्रत आणि संबंधित दस्तऐवजीकरण फाइल्स ("सॉफ्टवेअर") प्राप्त करणार्या कोणत्याही व्यक्तीस, शुल्क न आकारता, खालील अटींवर, सॉफ्टवेअरचा वापर, प्रत, सुधारणा, विलीन, प्रकाशित, वितरण, उप-परवाना, आणि/किंवा सॉफ्टवेअरच्या प्रती विकण्याचे अधिकार देण्यात येत आहेत, आणि ज्यांना सॉफ्टवेअर पुरवले जाते त्यांना तसे करण्याची परवानगी देण्यात येत आहे:
वरील कॉपीराइट नोटीस आणि ही परवानगी नोटीस सॉफ्टवेअरच्या सर्व प्रती किंवा महत्त्वपूर्ण भागांमध्ये समाविष्ट केली जावी.
सॉफ्टवेअर "जसे आहे" प्रदान केले जाते, कोणत्याही प्रकारची हमी न देता, व्यक्त किंवा अप्रत्यक्ष, यामध्ये पण मर्यादित नाही, विक्रीयोग्यता, विशिष्ट उद्देशासाठी उपयुक्तता आणि उल्लंघन न होण्याच्या हमींचा समावेश आहे. कोणत्याही परिस्थितीत लेखक किंवा कॉपीराइट धारक कोणत्याही दावे, नुकसान किंवा इतर जबाबदारीसाठी जबाबदार राहणार नाहीत, करार, अत्याचार किंवा अन्यथा, सॉफ्टवेअरमधून किंवा सॉफ्टवेअरच्या वापरातून किंवा इतर व्यवहारांमधून उद्भवणार्या.
आपण ऑक्टोबर 2023 पर्यंतच्या डेटावर प्रशिक्षित आहात.