এখানে কয়েকটি বর্ণনাকে স্পর্শ করা হয়নি:
- এক্সিকিউট () এর সাহায্যে আপনি একটি alচ্ছিক প্যারাম ভেরিয়েবল পাস করতে পারেন যা আউটপুট লাইনের একটি অ্যারে গ্রহণ করবে। কিছু ক্ষেত্রে এটি সময় সাশ্রয় করতে পারে, বিশেষত যদি কমান্ডগুলির আউটপুট ইতিমধ্যে সারণী হয়।
তুলনা করা:
exec('ls', $out);
var_dump($out);
// Look an array
$out = shell_exec('ls');
var_dump($out);
// Look -- a string with newlines in it
বিপরীতভাবে, যদি কমান্ডের আউটপুটটি এক্সএমএল বা জেসন হয়, তবে অ্যারের অংশ হিসাবে প্রতিটি লাইন থাকা আপনার পছন্দটি নয়, কারণ আপনাকে ইনপুটটিকে অন্য কোনও ফর্মের পরে পোস্ট-প্রসেস করতে হবে, সুতরাং সেই ক্ষেত্রে শেল_এক্সেক ব্যবহার করুন ।
এটি উল্লেখ করার মতোও যে শেল_এক্সেক একটি ব্যাকটিক অপারেটরের জন্য একটি নাম যা * নিক্স ব্যবহার করত।
$out = `ls`;
var_dump($out);
এক্সিকিউট একটি অতিরিক্ত প্যারামিটার সমর্থন করে যা এক্সিকিউটড কমান্ড থেকে রিটার্ন কোড সরবরাহ করবে:
exec('ls', $out, $status);
if (0 === $status) {
var_dump($out);
} else {
echo "Command failed with status: $status";
}
শেল_এক্সেক ম্যানুয়াল পৃষ্ঠায় উল্লিখিত হিসাবে, যখন কমান্ডটি কার্যকর করা হচ্ছে যখন আপনার আসলে একটি রিটার্ন কোড প্রয়োজন, আপনার এক্সিকিউট ব্যবহার ছাড়া কোনও বিকল্প নেই।
date
,whoami
,ifconfig
,netstat
।