আপনি যা করার চেষ্টা করছেন সেভাবে সম্ভব নয়।
মনে রাখবেন যে এর সর্বদা দুটি দিক রয়েছে: ক্লায়েন্ট পাশ এবং সার্ভারের দিক। স্ক্রিপ্টটি ক্লায়েন্ট কম্পিউটারে বা সার্ভারে রয়েছে?
যদি এটি ক্লায়েন্টে থাকে: আপনি দর্শক হিসাবে কেবল একটি HTML ওয়েবসাইট দেখছেন। onClick
কেবল জাভাস্ক্রিপ্ট (বা অন্যান্য স্ক্রিপ্টিং ভাষা ) চালু করতে সক্ষম হবে , তবে আপনার কম্পিউটারে থাকা কোনও নির্বিচার শেল স্ক্রিপ্ট নয়। এইচটিএমএল স্ক্রিপ্টগুলি কেবল ব্রাউজারে চলে এবং কেবল সীমিত জিনিসগুলিই করতে পারে। সবচেয়ে গুরুত্বপূর্ণ, তারা আপনার কম্পিউটারের সাথে যোগাযোগ করতে পারে না।
এটি সম্পর্কে চিন্তা করুন: ব্রাউজারটি কীভাবে ফাইলটি খুলতে জানবে? আপনি কি মনে করেন না এটিও সুরক্ষা সমস্যা হতে পারে - একটি ক্লায়েন্টের কম্পিউটারে স্ক্রিপ্টগুলি কার্যকর করার জন্য একটি সরল ওয়েবসাইট? যদি এমন কিছু হত onClick('rm -rf /home/user')
?
একটি বিকল্প জাভা অ্যাপলেট চালানো হবে, যদি আপনি ক্লায়েন্টের উপর কোড কার্যকর করতে চান তবে এটি ঠিক একই নয় এবং এটি সত্যিই জটিল কিছু। আমি এটিকে বিস্তারিতভাবে ব্যাখ্যা করা প্রয়োজন বলে মনে করি না।
যদি স্ক্রিপ্টটি সার্ভারে থাকে: আপনি যদি সার্ভারের দিক থেকে কোনও স্ক্রিপ্ট চালাতে চান এবং ব্যবহারকারীর দ্বারা এটি কার্যকর করা যায় তবে আপনাকে একটি সার্ভার সাইড প্রোগ্রামিং ভাষা ব্যবহার করতে হবে। কেবল এইচটিএমএল এটি করবে না, কারণ এটি কম-বেশি একটি স্ট্যাটিক ফাইল। আপনি যদি সার্ভারের সাথে ইন্টারঅ্যাক্ট করতে চান তবে আপনি পিএইচপি ব্যবহার করতে পারেন ।
এটি exec
ওয়েব সার্ভারে সঞ্চিত একটি কমান্ড লাইন স্ক্রিপ্ট চালানোর কাজ করে। সুতরাং মূলত, আপনি লিখতে পারতেন exec('/path/to/name.sh');
এবং এটি সার্ভারে স্ক্রিপ্টটি চালাত।
যাইহোক, কেবল এটি onClick
এখানে দেওয়া যথেষ্ট নয়। যদি আপনি এখনও পিএইচপি এবং সার্ভার সাইড ওয়েব প্রোগ্রামিং সম্পর্কে জানেন না, আপনি প্রথমে কয়েকটি টিউটোরিয়াল পড়তে চান এবং তারপরে আরও একটি নির্দিষ্ট প্রশ্ন নিয়ে ফিরে আসতে পারেন।
যদি আপনার কাছে উপযুক্ত exec(...)
কমান্ডের সাথে একটি পিএইচপি ফাইল থাকে তবে নিশ্চিত হয়ে নিন যে স্ক্রিপ্টটি কেবল ব্যবহারকারীর জন্যই নয় বরং ওয়েব সার্ভারের যে গোষ্ঠীতে রয়েছে তার জন্যও সেটগুলি নির্ধারিত অনুমতিগুলি নির্ধারিত করেছে, তাই সহজতম ক্ষেত্রে 777
।
সমস্যার ক্ষেত্রে echo exec(...);
কোনও ত্রুটি আছে কিনা তা পরীক্ষা করে স্ক্রিপ্টের রিটার্ন মানটি পরীক্ষা করে দেখুন।
আপনি কমান্ড লাইন থেকে স্ক্রিপ্টটি চালাতে পারেন এবং এটি ব্রাউজার সহ নয় php /path/to/file.php
।