php - file_get_contents () বা অনুরূপ ফাংশন

আমি একটি .txt ফাইলে সংরক্ষিত থাকা কাউন্টির তালিকা পুনরুদ্ধার করতে file_get_contents() ব্যবহার করছি। প্রতিটি কাউন্টি তার নিজস্ব লাইন হয়।

প্রতিটি এন্ট্রি চারপাশে উদ্ধৃতি যোগ করার এবং তারপর কমা অনুসরণ ফাংশন এটি অনুসরণ করার একটি উপায় আছে? আমার একটি সীমাবদ্ধতা হল যে এটি ফাংশনের মধ্যে বসতে হবে, এবং দুটি আলাদা কমান্ড হতে পারে না।

এই কাজ করা যাবে?

অথবা হয়তো আমি এই জন্য অন্য ফাংশন দেখতে প্রয়োজন?

1
@ জেলেগল @ ডেভ্র্যান্ডেন্ড; আমি আমাদের একটি অ্যাপ্লিকেশন সম্পাদনা করছি, এবং আমরা শুধুমাত্র একটি ফর্ম একটি অতিরিক্ত ক্ষেত্র যোগ করার জন্য একটি নির্দিষ্ট ফাইল সম্পাদনা করার অনুমতি দেওয়া হয়। এই ফাইলটি অন্য কোনও ফাইল দ্বারা দখল করা হয় যা লাইনগুলি অনুবাদ করে এবং ক্ষেত্রগুলি ভরাট করে এমন কিছু করে (যা আমাদের কাছে সেই ফাইলটি অ্যাক্সেস করার অনুমতি নেই)। এই কারণে, অন্য কোন অতিরিক্ত কমান্ড যোগ অপারেশন বিরতি।
যোগ লেখক Mechaflash, উৎস
কোন কারণে এটি একটি downvote পেয়েছেন?
যোগ লেখক Mechaflash, উৎস
আমার একটি সীমাবদ্ধতা হল যে এটি ফাংশনটির মধ্যে বসতে হবে - কেন? আপনি এখানে চান শেষ ফলাফল কি - আপনি একটি CSV বা কিছু লিখছেন?
যোগ লেখক DaveRandom, উৎস
আপনি দুটি পৃথক কমান্ড মানে কি?
যোগ লেখক xdazz, উৎস
কেন আপনি দুটি ফাংশন ব্যবহার করতে পারবেন না?
যোগ লেখক 472084, উৎস
হয়তো কারণ এটি একটি ফাংশন সীমাবদ্ধ অদ্ভুত প্রয়োজনীয়তা। (আমি downvote ছিল না)।
যোগ লেখক middus, উৎস

4 উত্তর

$countries = file('countries.txt');//get country list into an array

$fixed_countries = array_map(function($v) { return '"' . trim($v) . '",'; }, $countries);
3
যোগ
আমি এগিয়ে গিয়েছিলাম এবং সঠিক উদ্ধৃতি এবং কমা দিয়ে আমার তালিকাটি পুনঃপুনিত করার জন্য একটি ব্যাচ স্ক্রিপ্ট ব্যবহার করেছি, সার্ভারে ফাইলটিকে পুনরায় প্রতিস্থাপন করেছি, তারপরে ফাইলটি() ব্যবহার করে অ্যারেটি তৈরি করতে ব্যবহৃত হয়েছিল। একটি কবজ মত কাজ। ধন্যবাদ
যোগ লেখক Mechaflash, উৎস

অবশ্যই।

$countries = explode("\n",'"'.str_replace("\n","\",\n\"",file("countries.txt")));

এরকম ফাইলটি রূপান্তর করা উচিত:

country1
country2
...

এই মত একটি অ্যারে মধ্যে:

array('"country1",','"country2",',...).

যে আপনি চান, অধিকার?

1
যোগ
এর ফলে অ্যারে (0 => '' অ্যারে ') হবে কারণ আপনি একটি স্ট্রিংতে একটি অ্যারে যোগ করছেন।
যোগ লেখক DaveRandom, উৎস

আপনি এটি খুব সহজেই করতে পারেন, এবং যদি আপনি ফাইল file_get_contents এর পরিবর্তে:

$callback = create_function('$c', 'return "\"".trim($c)."\"";');
$countries = array_map($callback, file('countries.txt'));
return implode(', ', $countries);

I have written $callback with a syntax that is valid for PHP < 5.3; it's also possible to write it as an anonymous function:

$callback = function($c) { return '"'.trim($c).'"'; };

See it in action.

1
যোগ
Downvoter: একটি মন্তব্য রেখে এই উত্তর উন্নত করতে আমাকে সাহায্য করুন।
যোগ লেখক Jon, উৎস

আপনি যদি কিছু লাইন-বাই-লাইন পড়েন, ফাইল file_get_contents এর চেয়ে বেশি উপযুক্ত:

echo implode(',',
             array_map(function($county) {return '"' . trim($county) . '"';}),
                       file('counties.txt'));
0
যোগ
আমি এই উত্তর উন্নত করতে খুশি হবে। এতে ভুল কি আছে?
যোগ লেখক phihag, উৎস