Ob_start - আউটপুট বাফারিং সক্ষম করুন। পিএইচপি প্রকল্প সমর্থন করার সময় ob_start ব্যবহার করা খারাপ অনুসন্ধান php শুরু

খোঁজা শুরু করোএকটি ব্রাউজার হাইজ্যাকার, যা অন্যান্য বিনামূল্যের ডাউনলোডের মাধ্যমে প্রচারিত হয় এবং একবার ইন্সটল করলে এটি আপনার ব্রাউজার হোমপেজে পরিবর্তন করবে start-search.com search.yahoo.com.

start-search.com হোমপেজ আপনার অনুসন্ধান ফলাফলে বিজ্ঞাপন এবং স্পনসর করা লিঙ্কগুলি প্রদর্শন করবে এবং আপনার অনুসন্ধানের প্রশ্নগুলি থেকে অনুসন্ধান শব্দগুলি সংগ্রহ করতে পারে৷ start-search.com হাইজ্যাকটি বিজ্ঞাপনের আয় বাড়ানোর জন্য ব্যবহৃত হয়, যেমন ব্ল্যাকহ্যাট এসইও ব্যবহার করে, অনুসন্ধানের ফলাফলে একটি সাইটের পৃষ্ঠার র‌্যাঙ্কিং বাড়াতে।

অনুসন্ধান শুরু করুন এটি প্রযুক্তিগতভাবে কোনও ভাইরাস নয়, তবে এটি প্রচুর ক্ষতিকারক বৈশিষ্ট্য প্রদর্শন করে, যেমন অপারেটিং সিস্টেমের গভীরে হুক করার রুটকিট ক্ষমতা, ব্রাউজার হাইজ্যাকিং এবং সাধারণভাবে ব্যবহারকারীর অভিজ্ঞতায় হস্তক্ষেপ করা। শিল্প সাধারণত এটিকে "পিইউপি" বা সম্ভাব্য অবাঞ্ছিত প্রোগ্রাম হিসাবে উল্লেখ করে।
স্টার্ট সার্চ হল একটি বিজ্ঞাপন-সমর্থিত (ব্যবহারকারীরা অতিরিক্ত ব্যানার, অনুসন্ধান, পপ-আপ, পপ-আন্ডার, ইন্টারস্টিশিয়াল এবং ইন-টেক্সট লিঙ্ক বিজ্ঞাপন দেখতে পারে) ইন্টারনেট এক্সপ্লোরার (BHO) এবং ফায়ারফক্স/ক্রোম (প্লাগইন) এর জন্য ক্রস ওয়েব ব্রাউজার প্লাগইন এবং ইনস্টলেশনের সময় বিভিন্ন নগদীকরণ প্ল্যাটফর্মের মাধ্যমে বিতরণ করা হয়। ব্রাউজার এক্সটেনশনে বিভিন্ন বৈশিষ্ট্য রয়েছে যা হোম পেজ, অনুসন্ধান সেটিংস সহ ব্রাউজারের ডিফল্ট বা কাস্টম সেটিংস পরিবর্তন করবে এবং কিছু ক্ষেত্রে ইন্টারনেট এক্সপ্লোরারের লোড টাইম থ্রেশহোল্ড পরিবর্তন করবে, প্রতিযোগী সফ্টওয়্যারটিকে সেটিংস পরিবর্তন করা থেকে বিরত রাখতে Firefox-এর মধ্যে একটি লক ফাইল স্থাপন করবে। সেইসাথে প্লাগইনটির ক্রস সাইট স্ক্রিপ্টিংয়ের অনুমতি দেওয়ার জন্য ব্রাউজারের সামগ্রী সুরক্ষা নীতি নিষ্ক্রিয় করুন৷

আপনি একটি ফ্রিওয়্যার সফ্টওয়্যার (ভিডিও রেকর্ডিং/স্ট্রিমিং, ডাউনলোড-ম্যানেজার বা পিডিএফ ক্রিয়েটর) ইনস্টল করার পরে আপনার কম্পিউটারে অনুসন্ধান করুন শুরু করুন যা এই ব্রাউজার হাইজ্যাকার তাদের ইনস্টলেশনে বান্ডিল করেছিল।
উদাহরণস্বরূপ, আপনি যখন VPlay ইনস্টল করবেন, তখন আপনি আপনার ব্রাউজার হোমপেজে পরিবর্তন করতেও সম্মত হবেন৷ start-search.comএবং ডিফল্ট সার্চ ইঞ্জিনে search.yahoo.com


তবে আপনি যখন আপনার কম্পিউটার থেকে VPlay আনইনস্টল করেন, তখন আপনার ওয়েব ব্রাউজারের ডিফল্ট সেটিংস পুনরুদ্ধার করা হবে না। এর মানে হল যে আপনাকে আপনার প্রিয় ওয়েব ব্রাউজার থেকে ম্যানুয়ালি start-search.com হোমপেজ সরিয়ে ফেলতে হবে।

তোমার উচিত সফ্টওয়্যার ইনস্টল করার সময় সর্বদা মনোযোগ দিনকারণ প্রায়ই, একটি সফ্টওয়্যার ইনস্টলার ঐচ্ছিক ইনস্টল অন্তর্ভুক্ত করে, যেমন এই start-search.com ব্রাউজার হাইজ্যাকার। আপনি কি ইনস্টল করতে সম্মত হন তা খুব সতর্ক থাকুন।
সর্বদা কাস্টম ইনস্টলেশনের জন্য বেছে নিনএবং পরিচিত নয় এমন কিছু অনির্বাচন করুন, বিশেষ করে ঐচ্ছিক সফ্টওয়্যার যা আপনি প্রথমে ডাউনলোড এবং ইনস্টল করতে চাননি৷ এটি বলার অপেক্ষা রাখে না যে আপনার এমন সফ্টওয়্যার ইনস্টল করা উচিত নয় যা আপনি বিশ্বাস করেন না।

কিভাবে start-search.com (ভাইরাস রিমুভাল গাইড) সরাতে হয়

এই পৃষ্ঠাটি একটি ব্যাপক নির্দেশিকা, যা আপনার ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং গুগল ক্রোম থেকে start-search.com সরিয়ে দেবে।
সঠিক ক্রমে সমস্ত পদক্ষেপ সঞ্চালন করুন. যেকোন সময়ে আপনার কোন প্রশ্ন বা সন্দেহ থাকলে, স্টপএবং আমাদের সাহায্যের জন্য জিজ্ঞাসা করুন।




ধাপ 1: আপনার কম্পিউটার থেকে start-search.com ক্ষতিকারক প্রোগ্রাম আনইনস্টল করুন

এই প্রথম ধাপে, আমরা আপনার কম্পিউটারে ইনস্টল করা হতে পারে এমন কোনো ক্ষতিকারক প্রোগ্রাম শনাক্ত করার এবং অপসারণ করার চেষ্টা করব।

start-search.com প্রোগ্রামটি আনইনস্টল করার চেষ্টা করার সময় আপনার সমস্যা হলে, আপনি আপনার মেশিন থেকে এই অবাঞ্ছিত প্রোগ্রামটিকে সম্পূর্ণরূপে অপসারণ করতে ব্যবহার করতে পারেন।

ধাপ 2: ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং গুগল ক্রোম থেকে start-search.com ভাইরাস সরান

ইন্টারনেট এক্সপ্লোরার থেকে start-search.com ভাইরাস সরান

আপনি ইন্টারনেট এক্সপ্লোরার সেটিংস পুনরায় সেট করতে পারেন যাতে সেগুলি যে অবস্থায় ছিল সে অবস্থায় যখন ইন্টারনেট এক্সপ্লোরার আপনার পিসিতে প্রথম ইনস্টল করা হয়েছিল।

Mozilla Firefox থেকে start-search.com ভাইরাস সরান

আপনার যদি ফায়ারফক্সে সমস্যা হয়, তাহলে এটি রিসেট করা সাহায্য করতে পারে। আপনার প্রয়োজনীয় তথ্য যেমন বুকমার্ক, পাসওয়ার্ড, ওয়েব ফর্ম অটো-ফিল তথ্য, ব্রাউজিং ইতিহাস এবং খোলা ট্যাবগুলি সংরক্ষণ করার সময় রিসেট ফিক্স ফায়ারফক্সকে তার ফ্যাক্টরি ডিফল্ট অবস্থায় পুনরুদ্ধার করার মাধ্যমে অনেক সমস্যার বৈশিষ্ট্য রয়েছে।

বিঃদ্রঃ: আপনার পুরানো ফায়ারফক্স প্রোফাইল আপনার ডেস্কটপে “নামক একটি ফোল্ডারে স্থাপন করা হবে পুরানো ফায়ারফক্স ডেটা" যদি রিসেটটি আপনার সমস্যার সমাধান না করে তবে আপনি তৈরি করা নতুন প্রোফাইলে ফাইলগুলি অনুলিপি করে সংরক্ষণ করা হয়নি এমন কিছু তথ্য পুনরুদ্ধার করতে পারেন। আপনার যদি এই ফোল্ডারটির আর প্রয়োজন না হয়, তাহলে আপনার এটি মুছে ফেলা উচিত কারণ এতে সংবেদনশীল তথ্য রয়েছে৷

Google Chrome থেকে start-search.com ভাইরাস সরান

ধাপ 3: AdwCleaner দিয়ে start-search.com ব্রাউজার হাইজ্যাকারকে সরান

AdwCleaner ইউটিলিটি "start-search.com" ক্ষতিকারক ফাইল, ব্রাউজার এক্সটেনশন এবং রেজিস্ট্রি কীগুলির জন্য আপনার কম্পিউটার এবং ওয়েব ব্রাউজার স্ক্যান করবে, যা আপনার অজান্তেই আপনার কম্পিউটারে ইনস্টল করা হতে পারে।

ধাপ 4: Malwarebytes Anti-Malware Free দিয়ে আপনার কম্পিউটার থেকে start-search.com ভাইরাস সরান

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

  1. আপনি ডাউনলোড করতে পারেন Malwarebytes অ্যান্টি-ম্যালওয়্যার ডাউনলোড করুননিচের লিঙ্ক থেকে।
    (এই লিঙ্কটি একটি নতুন ওয়েব পৃষ্ঠা খুলবে যেখান থেকে আপনি Malwarebytes Anti-Malware Free ডাউনলোড করতে পারবেন)
  2. একবার ডাউনলোড হয়ে গেলে, সমস্ত প্রোগ্রাম বন্ধ করুন, তারপর আপনার ডেস্কটপের আইকনে ডাবল ক্লিক করুন " mbam-setup-consumer-2.00.xx”ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার ইনস্টলেশন শুরু করতে।

    আপনি এই ফাইলটি চালাতে চান কিনা তা জিজ্ঞাসা করে আপনাকে একটি ব্যবহারকারী অ্যাকাউন্ট নিয়ন্ত্রণ ডায়ালগ উপস্থাপন করা হতে পারে। যদি এটি ঘটে তবে আপনাকে ক্লিক করতে হবে " হ্যাঁ” ইনস্টলেশন চালিয়ে যেতে।
  3. ইনস্টলেশন শুরু হলে, আপনি দেখতে পাবেন যা আপনাকে ইনস্টলেশন প্রক্রিয়ার মাধ্যমে গাইড করবে।


    আপনার মেশিনে Malwarebytes অ্যান্টি-ম্যালওয়্যার ইনস্টল করতে, প্রম্পট অনুসরণ করতে থাকুনক্লিক করে " পরবর্তী"বোতাম।

  4. একবার ইনস্টল হয়ে গেলে, ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার স্বয়ংক্রিয়ভাবে শুরু হবে এবং আপনি একটি বার্তা দেখতে পাবেন যাতে বলা হয় যে আপনার প্রোগ্রামটি আপডেট করা উচিত এবং আপনার সিস্টেমে কখনও স্ক্যান করা হয়নি। একটি সিস্টেম স্ক্যান শুরু করতে আপনি "এ ক্লিক করতে পারেন এখন ঠিক করা"বোতাম।


    বিকল্পভাবে, আপনি "এ ক্লিক করতে পারেন স্ক্যান"ট্যাব এবং নির্বাচন করুন" থ্রেট স্ক্যান", তারপরে ক্লিক করুন "এখনই স্ক্যান করুন"বোতাম

  5. ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার এখন আপডেটের জন্য পরীক্ষা করবে এবং যদি থাকে তবে আপনাকে "এ ক্লিক করতে হবে এখন হালনাগাদ করুন"বোতাম।

  6. Malwarebytes Anti-Malware এখন start-search.com ভাইরাসের জন্য আপনার কম্পিউটার স্ক্যান করা শুরু করবে। ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার স্ক্যান করার সময় এটি নীচের ছবির মতো দেখাবে।

  7. স্ক্যানটি সম্পন্ন হলে, আপনাকে এখন একটি স্ক্রীন উপস্থাপন করা হবে যা আপনাকে ম্যালওয়্যার সংক্রমণ দেখায় যা ম্যালওয়্যারবাইটস-এর অ্যান্টি-ম্যালওয়্যার সনাক্ত করেছে। ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার খুঁজে পাওয়া দূষিত প্রোগ্রামগুলি অপসারণ করতে, "এ ক্লিক করুন কোয়ারেন্টাইন সব" বোতাম, এবং তারপরে ক্লিক করুন " এখন আবেদন কর"বোতাম।


    অনুগ্রহ করে মনে রাখবেন যে ইনফেকশন পাওয়া গেছে তা ছবিতে দেখানোর চেয়ে ভিন্ন হতে পারে।
  8. ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার এখন খুঁজে পাওয়া সমস্ত ক্ষতিকারক ফাইল এবং রেজিস্ট্রি কীগুলিকে পৃথক করবে৷ ফাইলগুলি সরানোর সময়, ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যারকে তাদের কিছু মুছে ফেলার জন্য পুনরায় বুট করার প্রয়োজন হতে পারে। যদি এটি একটি বার্তা প্রদর্শন করে যে এটিকে আপনার কম্পিউটার পুনরায় বুট করতে হবে, অনুগ্রহ করে এটি করার অনুমতি দিন।


    আপনার কম্পিউটার রিস্টার্ট হওয়ার পরে, আপনাকে ম্যালওয়্যারবাইটস অ্যান্টি-ম্যালওয়্যার খুলতে হবে এবং অন্য কোনও "থ্রেট স্ক্যান" স্ক্যান করতে হবে যাতে কোনও অবশিষ্ট হুমকি নেই।

ধাপ 5: HitmanPro-এর সাথে start-search.com সংক্রমণের জন্য দুবার পরীক্ষা করুন

হিটম্যানপ্রো হল একটি দ্বিতীয় মতামত স্ক্যানার, যা আপনার কম্পিউটারকে ম্যালওয়্যার (ভাইরাস, ট্রোজান, রুটকিট ইত্যাদি) থেকে উদ্ধার করার জন্য ডিজাইন করা হয়েছে যা আপনার নেওয়া সমস্ত নিরাপত্তা ব্যবস্থা সত্ত্বেও (যেমন অ্যান্টি ভাইরাস সফ্টওয়্যার, ফায়ারওয়াল ইত্যাদি) আপনার কম্পিউটারকে সংক্রমিত করেছে। হিটম্যানপ্রো কোন দ্বন্দ্ব ছাড়া বিদ্যমান নিরাপত্তা প্রোগ্রামের পাশাপাশি কাজ করার জন্য ডিজাইন করা হয়েছে। এটি দ্রুত কম্পিউটার স্ক্যান করে (5 মিনিটের কম) এবং কম্পিউটারকে ধীর করে না।

ভূমিকা

লিনাক্সের Xubuntu 10.04 (lucid) সংস্করণের উপর ভিত্তি করে Balsa সিস্টেমটি বিটা সফ্টওয়্যার হিসাবে ব্যবহারের জন্য উপলব্ধ। এই পৃষ্ঠাটি আপনাকে বলসা ডাউনলোড এবং চালানোর জন্য আপনাকে কী করতে হবে তা বলে এবং তারপরে এটি কীভাবে করতে হবে তা নির্দেশাবলী নির্দেশ করে।

একটি কম্পিউটারে চালানোর জন্য Balsa একটি SD কার্ড ব্যবহার করে। SD কার্ডটি Balsa চালানোর জন্য ব্যবহার করার আগে এটিতে একটি Balsa সিস্টেম রাখা দরকার।

আপনি একটি কম্পিউটারে একটি বালসা এসডি কার্ড তৈরি করতে পারেন এবং এটি অন্য কম্পিউটারে চালাতে পারেন। আপনি যে কম্পিউটারে এটি তৈরি করেন সেটিকে নিজেই বালসা চালাতে হবে না।

বলসা চালানোর জন্য আপনার কী দরকার

Balsa চালানোর জন্য, আপনার নিম্নলিখিতগুলির প্রয়োজন হবে:

Balsa SD কার্ড তৈরি করার জন্য, আপনি যে কম্পিউটারে এটি তৈরি করবেন তার জন্য কার্ডটি তৈরি করার সময় 5 বা 9 গিগাবাইট স্থান প্রয়োজন হবে।

এসডি কার্ড রিডার সম্পর্কে একটি নোট

কিছু পুরানো ল্যাপটপে, SD রিডার একটি 4 বা 8 গিগাবাইট SD কার্ড পরিচালনা করতে পারে না৷ কিছু Dell কম্পিউটার দ্বারা ব্যবহৃত অন্যান্য SD কার্ড রিডারগুলি Balsa সিস্টেমের সাথে কাজ করে না৷ এই উভয় ক্ষেত্রেই, Balsa একটি পৃথক USB SD কার্ড রিডারে চালানো যেতে পারে।

Balsa SD কার্ড 4 বা 8 গিগাবাইট সংস্করণে আসে। উইন্ডোজ বা লিনাক্স মেশিনে উভয় সংস্করণ তৈরি করা যেতে পারে। উইন্ডোজ এবং লিনাক্স উভয়ই কার্ডের জন্য একই ডাউনলোড করা ফাইল ব্যবহার করে এবং যে কার্ডটি তৈরি করা হয়েছে তা অন্য সিস্টেমে একটির সাথে অভিন্ন হবে। এর মধ্যে একটি বেছে নিন।

পিএইচপি বিভিন্ন ফাংশন প্রদান করে যা একটি স্ট্রিং অন্যটির মধ্যে অনুসন্ধান করে। কেউ কেউ পাওয়া স্ট্রিং (strpos , strrpos এবং সম্পর্কিত) এর অবস্থান ফেরত দেয় এবং মূল স্ট্রিং (strstr এবং strrchr) এর অংশ ফেরত দেয়। আপনি যে স্ট্রিংটি অনুসন্ধান করছেন তা আসলটির মধ্যে না পাওয়া গেলে অনুসন্ধান ফাংশনগুলি মিথ্যা ফেরত দেয়।

যদি আপনার লক্ষ্য হয় কেবলমাত্র একটি স্ট্রিং অন্যটির মধ্যে বিদ্যমান কিনা তা নির্ধারণ করা, সবচেয়ে কার্যকর বিকল্পটি হল strpos।

strpos

strpos ফাংশন তার দ্বিতীয়টির জন্য তার প্রথম স্ট্রিং আর্গুমেন্ট অনুসন্ধান করে এবং স্ট্রিং-এর মধ্যে প্রথম মিলের শূন্য-ভিত্তিক সূচক অবস্থান ফেরত দেয়, অথবা এটি খুঁজে না পাওয়া গেলে মিথ্যা। নিম্নলিখিত উদাহরণ প্রদর্শন করে:

$str = ; // $str এর মধ্যে "need" এর প্রথম ঘটনার জন্য অনুসন্ধান করুন$pos = strpos($str, "need"); // প্রদর্শনের ধরন এবং $pos এর মান var_dump ($pos); // int(3)

যদিও আমরা উপরে var_dump ব্যবহার করে ফলাফল প্রদর্শন করেছি, strpos এর জন্য রিটার্ন মানের একটি সাধারণ পরীক্ষা নিম্নরূপ করা হয়:

// কিভাবে strpos রিটার্ন মান পরিদর্শন করবেন ($pos)যদি ( $pos !== মিথ্যা ) ( // যদি অনুসন্ধান স্ট্রিং পাওয়া যায় echo "এটি অবস্থান $pos" ; ) অন্য ( echo "পাওয়া যায়নি।" ;)

strpos ফাংশনের রিটার্ন মানকে মিথ্যার সাথে তুলনা করতে === বা !== অপারেটর ব্যবহার করতে ভুলবেন না। যদি সাবস্ট্রিংটি স্ট্রিংয়ের শুরুতে পাওয়া যায়, তাহলে স্ট্রপোস 0 প্রদান করবে, যা == বা != অপারেটররা মিথ্যা রূপান্তর হবে.

আপনি স্ট্রিং এর শুরু থেকে একটি নির্দিষ্ট সংখ্যক অক্ষর অনুসন্ধান শুরু করতে একটি অফসেট নির্দিষ্ট করতে পারেন, যেমন এই উদাহরণটি দেখায়:

/* strpos আর্গুমেন্ট: * সাবজেক্ট স্ট্রিং (ওরফে খড়ের গাদা), সার্চ স্ট্রিং (সুই), অফসেট (ঐচ্ছিক) */ // $str এ অক্ষর 10 থেকে "need" এর জন্য অনুসন্ধান শুরু করুন$pos = strpos ($str , "need" , 10 ); // 20

অক্ষর 10 থেকে অনুসন্ধান শুরু করার সময়, ফলাফল 20 হয়, শব্দের শুরুর সূচী অবস্থান।

strrpos

strrpos ফাংশন একটি স্ট্রিং মধ্যে একটি সাবস্ট্রিং এর শেষ ঘটনার অবস্থান খুঁজে পায়:

// অনুসন্ধানের জন্য ব্যবহার করার জন্য উদাহরণ স্ট্রিং$str = "আমাদের খড়ের গাদায় সুই খুঁজে বের করতে হবে।"; // $str এ "need" এর শেষ ঘটনার অবস্থান খুঁজুন$pos = strrpos ($str , "need" ); // 20

strrpos ফাংশন একটি ঐচ্ছিক অফসেট প্যারামিটারও প্রদান করে যা ইতিবাচক বা নেতিবাচক হতে পারে। যদি অফসেট ইতিবাচক হয়, তাহলে স্ট্রিংয়ের শুরুতে অক্ষরের সংখ্যা অনুসন্ধান থেকে বাদ দেওয়া হবে। নিম্নলিখিত উদাহরণ বিবেচনা করুন:

// প্রথম 3টি অক্ষর বাদ দিয়ে "আমরা" এর জন্য ডান থেকে অনুসন্ধান করুন$pos = strrpos ($str , "আমরা" , 3 ); var_dump ($pos); //বুল (মিথ্যা)

ফলাফলটি মিথ্যা কারণ অনুসন্ধানে প্রথম তিনটি অক্ষর বাদ দিলে "আমরা" পাওয়া যায় না।

অফসেট নেতিবাচক হলে, স্ট্রিংয়ের শেষে অনেক অক্ষর অনুসন্ধান থেকে বাদ দেওয়া হয়। আমরা একটি নেতিবাচক অফসেট নির্দিষ্ট করে দুটি অনুসন্ধানের মাধ্যমে প্রদর্শন করি:

// শেষ 5টি অক্ষর বাদ দিয়ে "হাই" এর জন্য ডান থেকে অনুসন্ধান করুন$pos = strrpos ($str , "খড়" , - 5 ); // int(34) // শেষ 10টি অক্ষর বাদ দিয়ে ডান দিক থেকে অনুসন্ধান করুন$pos = strrpos ($str , "খড়" , - 10 ); //বুল (মিথ্যা)

উপরের শেষ ফলাফলটি মিথ্যা কারণ অনুসন্ধানে শেষ 10টি অক্ষর বাদ দিলে "হাই" পাওয়া যায় না।

লক্ষ্য করুন যে স্ট্রপস ফাংশনের রিটার্ন মান স্ট্রিংয়ের শুরু থেকে অবস্থান দেয়, যদিও অনুসন্ধানটি ডান দিক থেকে শুরু হয়।

স্ট্রিপোস এবং স্ট্রিপোস

strpos এবং strrpos ফাংশন কেস-সংবেদনশীল অনুসন্ধানগুলি সম্পাদন করে। কেস-অসংবেদনশীল অনুসন্ধানগুলি সম্পাদন করতে PHP স্ট্রিপোস এবং স্ট্রিপোস ফাংশন প্রদান করে। তারা তাদের কেস-সংবেদনশীল সমতুল্যগুলির মতো কাজ করে:

// অনুসন্ধানের জন্য ব্যবহার করার জন্য উদাহরণ স্ট্রিং$str = "আমাদের খড়ের গাদায় সুই খুঁজে বের করতে হবে।"; // "আমরা" এর জন্য কেস-সংবেদনশীল অনুসন্ধান করুন$pos = স্ট্রিপোস($str, "আমরা"); // int(0) // "প্রয়োজন" এর জন্য ডান থেকে কেস-সংবেদনশীল অনুসন্ধান করুন$pos = strripos($str, "প্রয়োজন"); // int(20)

"আমরা"-এর জন্য অক্ষর-সংবেদনশীল অনুসন্ধানটি 0 এ ফলাফল দেয়, এটি নির্দেশ করে যে আমরা যে স্ট্রিংটিতে অনুসন্ধান করছি তার শুরুতে এটি পাওয়া গেছে। ডান দিক থেকে "Need" এর জন্য কেস-সংবেদনশীল অনুসন্ধান (স্ট্রিপোস ব্যবহার করে), এটি 20 অবস্থানে খুঁজে পায়।

strstr

strstr ফাংশন দ্বিতীয়টির জন্য প্রথম স্ট্রিং আর্গুমেন্ট অনুসন্ধান করে। যদি দ্বিতীয়টি প্রথমটির মধ্যে পাওয়া যায়, strstr মূল স্ট্রিংয়ের অংশটি প্রথম পাওয়া ঘটনা থেকে শুরু করে স্ট্রিংয়ের শেষ পর্যন্ত ফেরত দেয়।

// উদাহরণ স্ট্রিং $str = "আমাদের খড়ের গাদায় সুই খুঁজে বের করতে হবে।"; // $str $newstr = strstr ($str , "the" ); var_dump ($newstr); // স্ট্রিং(27) "খড়ের গাদায় সুই।"

strstr ফাংশনটি মূল স্ট্রিংয়ের বাকি অংশের সাথে এটি খুঁজে পাওয়া প্রথম "the" প্রদান করে।

যদি আপনি strstr-এ তৃতীয় আর্গুমেন্ট হিসেবে true পাস করেন, তাহলে মূল স্ট্রিংয়ের অংশ আগেপাওয়া স্ট্রিং ফেরত দেওয়া হয়:

// "the" এর আগে $str এর অংশ ফেরত দিতে সত্য পাস করুন$newstr = strstr ($str , "the" , true ); var_dump ($newstr); // স্ট্রিং(16) "আমাদের খুঁজে বের করতে হবে"

এবার strstr ফাংশন স্ট্রিং-এর প্রথম "the" এর আগে সবকিছু রিটার্ন করে।

পিএইচপি স্ট্রিস্ট্র ফাংশনও প্রদান করে যা স্ট্রস্ট্রের মতোই কাজ করে, তবে এটি একটি কেস-অসংবেদনশীল অনুসন্ধান করে।

strhrchr

strrchr ফাংশনটি দ্বিতীয় আর্গুমেন্টে আমরা যে অক্ষরটি উল্লেখ করেছি তার জন্য ডান দিক থেকে প্রথম স্ট্রিং আর্গুমেন্ট অনুসন্ধান করে। ফাংশনটি সেই অক্ষরের পাওয়া উদাহরণের অবস্থান থেকে স্ট্রিংয়ের শেষ পর্যন্ত স্ট্রিংয়ের অংশ ফেরত দেয়:

// উদাহরণ স্ট্রিং $str = "আমাদের খড়ের গাদায় সুই খুঁজে বের করতে হবে।"; // $str এ "s" এর জন্য ডান থেকে অনুসন্ধান করুন$newstr = strstr ($str , "s" ); var_dump ($newstr); // স্ট্রিং(6) "স্ট্যাক।"

লক্ষ্য করুন যে strstr এর বিপরীতে, যদি দ্বিতীয় আর্গুমেন্টে একাধিক অক্ষর থাকে, শুধুমাত্র প্রথমটি ব্যবহার করা হয়:

// বহু-অক্ষর দ্বিতীয় যুক্তি সহ পরীক্ষা$newstr = strrchr ($str , "the" ); var_dump ($newstr); // স্ট্রিং(5) "ট্যাক।"

"খড়ের গাদা" ফেরত দেওয়ার পরিবর্তে, strrchr ফাংশন "ট্যাক" প্রদান করে, অনুসন্ধানে দ্বিতীয় আর্গুমেন্টের শুধুমাত্র প্রথম অক্ষর প্রয়োগ করে।

হ্যালো, হাবর!

আজ আমি নবাগত ওয়েবমাস্টারদের পিএইচপি-তে আউটপুট বাফারিং ব্যবহার করার বিভিন্ন উপায়ে পরিচয় করিয়ে দিতে চাই। অভিজ্ঞ ওয়েবমাস্টাররা এখানে দরকারী কিছু খুঁজে পাওয়ার সম্ভাবনা কম। যদিও- কে জানে?

আপনি সকলেই জানেন, php-এ আউটপুট বাফারিং “ob_” দিয়ে শুরু হওয়া ফাংশনগুলির একটি সেট দ্বারা নিয়ন্ত্রিত হয়। তাদের মধ্যে সবচেয়ে গুরুত্বপূর্ণ হল ob_start। লঞ্চ করা হলে, এটি পরবর্তী আউটপুট সংগ্রহ করে, অর্থাৎ সব ধরনের প্রিন্ট(), ইকো, ইত্যাদি, যা পরে ভিজিটরকে একটি html পেজ আকারে দেওয়া হয়। এবং যদি আমরা আউটপুট করার আগে বাফারিং শুরু করি, তাহলে আমরা শেষ পর্যন্ত এই প্রায় প্রস্তুত পৃষ্ঠাটি দিয়ে কিছু করতে পারি।


উদাহরণস্বরূপ, আমরা বহিরাগত সাইটের সমস্ত লিঙ্ক ফিল্টার করতে চাই।

আমাদের ফোরাম, অস্ট্রালোপিথেকাসের কুঠারের মতো পুরানো, প্রচুর স্প্যামারের সাথে ভিড় করছে, দর্শনার্থীদের অশ্লীলতা, এক-সশস্ত্র দস্যু এবং রাজনৈতিক আন্দোলনে ভরা জায়গাগুলিতে প্রলুব্ধ করছে। আমরা ট্র্যাকিংয়ের সাথে js ব্যবহার করতে পারি, তবে আমরা পরিবর্তে এই সমস্ত লিঙ্কগুলি পরিবর্তন করতে চাই:

"http://blackjack-hookers.com" => "http://myoldforum.ru/redirect.php?url=blackjack-hookers.com"

পদ্ধতিটি সবচেয়ে কার্যকর নাও হতে পারে, তবে এটি কার্যকর। আমরা একটি ফিল্টার এবং একটি কালো তালিকা সহ redirect.php লিখেছি, এবং এখন আমাদের হাজার হাজার ফোরাম পৃষ্ঠার সমস্ত লিঙ্ক রূপান্তর করতে হবে। ob_start এবং কিছু রেগুলার এক্সপ্রেশন ব্যবহার করে, আমরা মাত্র কয়েকটি লাইনে এটি করতে পারি:

ফাংশন f_callback($buffer)( $buffer = preg_replace("#http://(www.)?myoldforum\.ru/#","/",$buffer); $buffer = preg_replace("#href="http ://([^"]*)"#","#href="/redirect\.php\?url=$1",$buffer); ফেরত $buffer; ) ob_start(f_callback);

এখন, index.php-এর শুরুতে এই কোডটি অন্তর্ভুক্ত করার মাধ্যমে, বা অন্য ফাইল যা সার্ভার পৃষ্ঠা দেখার সময় অ্যাক্সেস করে, আমরা যা প্রয়োজন তা পাব।

এইভাবে বিষয়বস্তু পরিবর্তন করে, আমরা ইঞ্জিনের পদ্ধতি দ্বারা সীমাবদ্ধ নই। এই বেশ মূল্যবান হতে পারে. উদাহরণস্বরূপ, আপনি একটি প্লাগইন যোগ করতে পারেন:

ফাংশন generate_plugin() ( /*generate something*/ ) ফাংশন f_callback($buffer)( /*...*/ $buffer = str_replace ("",generate_plugin(),$buffer); /*...*/ ফেরত $buffer; ) ob_start("f_callback");

এখন, যেখানে আমরা বিষয়বস্তু যোগ করেছি, আমরা যা চেয়েছিলাম তা প্রদর্শিত হবে। অ্যাপ্লিকেশনগুলির মধ্যে একটি হল একটি ওয়েবসাইট পৃষ্ঠায় একটি js উইজেট সন্নিবেশ করানো৷ উদাহরণস্বরূপ, ইয়ানডেক্স মানচিত্র। সাধারণত এটি কঠিন নয়, কিন্তু কখনও কখনও একটি খারাপভাবে লিখিত ওয়েবসাইট পৃষ্ঠা সম্পাদক উদ্ধৃতি এবং কোঁকড়া ধনুর্বন্ধনী এড়িয়ে যায়, উইজেট ভেঙ্গে যায়। আপনি দেখতে পারেন, এই সমস্যা সহজে সমাধান করা হয়।

আউটপুট বাফারের সাথে কাজ করার জন্য পিএইচপি সরঞ্জামগুলির সেট সমৃদ্ধ, এবং শুধুমাত্র ob_start এর মধ্যে সীমাবদ্ধ নয়। উপরে বর্ণিত পদ্ধতিগুলি কিছু ক্ষেত্রে অত্যধিক সম্পদ-নিবিড় এবং কষ্টকর, যেহেতু তারা পুরো পৃষ্ঠায় কাজ করে। আমরা এমন কিছুর প্রজন্মের চারপাশে টেমপ্লেটে একটি মোড়ক তৈরি করে এটির শুধুমাত্র অংশ প্রক্রিয়া করতে পারি যা আমরা প্রবেশ করতে চাই না, তবে এটি অবশ্যই ঠিক করা দরকার:

(বড় পাগল জিনিস তৈরি করুন)

আপনি ইতিমধ্যে এই সমস্ত বাক্যাংশগুলি অবশ্যই লক্ষ্য করেছেন: "আমি এতে প্রবেশ করতে চাই না," "একটি টাইরানোসরাস চেয়ারের মতো প্রাচীন," "একটি কুটিল লিখিত সম্পাদক"... একটি আদর্শ বিশ্বে, আউটপুট বাফারের চারপাশে শেলগুলি রয়েছে কোন দরকার নেই. ob_start দিয়ে যা করা যায় তা তাত্ত্বিকভাবে এটি ছাড়াই করা যেতে পারে। এই কৌশলটি মাঝে মাঝে প্রজেক্ট কোডে বিভ্রান্তির পরিচয় দেয়; অনেকে এর অর্থ দেখেন শুধুমাত্র ob_gzhandler-এ কম্প্রেশনের জন্য আউটপুট পাঠানোর মধ্যে, এবং অন্যান্য ক্ষেত্রে এর ব্যবহারকে বিপজ্জনক বলে মনে করেন। কিন্তু প্রায়ই আপনি আউটপুট নিয়ন্ত্রণ ছাড়া সহজভাবে করতে পারবেন না।

বিশেষ করে যদি আপনি গভীর খনন করতে না চান।

(PHP 4, PHP 5, PHP 7)

ob_start — আউটপুট বাফারিং সক্ষম করুন

বর্ণনা

বুল ob_start ([ কলযোগ্য$output_callback = খালি [, int $chunk_size = 0 [, int $পতাকা = PHP_OUTPUT_HANDLER_STDFLAGS ]]])

এই ফাংশনটি আউটপুট বাফারিং সক্ষম করে। আউটপুট বাফারিং সক্রিয় থাকলে, স্ক্রিপ্ট আউটপুট পাঠানো হয় না (হেডার ব্যতীত), তবে একটি অভ্যন্তরীণ বাফারে সংরক্ষণ করা হয়।

এই অভ্যন্তরীণ বাফারের বিষয়বস্তু ব্যবহার করে একটি স্ট্রিং ভেরিয়েবলে কপি করা যেতে পারে ob_get_contents(). অভ্যন্তরীণ বাফারের বিষয়বস্তু আউটপুট করতে আপনার ব্যবহার করা উচিত ob_end_flush(). বিকল্পভাবে আপনি ব্যবহার করতে পারেন ob_end_clean()বাফার বিষয়বস্তু ধ্বংস করতে.

মনোযোগ

কিছু ওয়েব সার্ভার (উদাহরণস্বরূপ Apache) যখন কলব্যাক ফাংশন কল করা হয় তখন স্ক্রিপ্টের কার্যকারী ডিরেক্টরি পরিবর্তন করে। আপনি এটি ব্যবহার করে ফিরে পেতে পারেন chdir(dirname($_SERVER["SCRIPT_FILENAME"]))কলব্যাক ফাংশনে।

আউটপুট বাফারগুলি স্ট্যাকের উপর ঠেলে দেওয়া হয়, যার অর্থ কলগুলি অনুমোদিত ob_start()অন্য একটি সক্রিয় কল করার পরে ob_start(). এই ক্ষেত্রে এটি কল করা আবশ্যক ob_end_flush()বার উপযুক্ত সংখ্যা। একাধিক কলব্যাক ফাংশন সক্রিয় থাকলে, আউটপুট নেস্টিং ক্রমে তাদের প্রত্যেকের জন্য ক্রমানুসারে ফিল্টার করা হয়।

প্যারামিটারের তালিকা

একটি ঐচ্ছিক output_callback প্যারামিটার নির্দিষ্ট করা যেতে পারে। এই ফাংশনটি একটি আর্গুমেন্ট হিসাবে একটি স্ট্রিং নেয় এবং একটি স্ট্রিং ফেরত দিতে হবে। এটি বলা হয় যখন একটি রিসেট (পাঠানো) বা পরিষ্কার করা (ব্যবহার করে ob_flush(), ob_clean()বা অনুরূপ ফাংশন) অথবা যদি অনুরোধের শেষে আউটপুট বাফার ব্রাউজারে ফ্লাশ করা হয়। যখন output_callback ফাংশন কল করা হয়, এটি বাফারের বিষয়বস্তু গ্রহণ করে এবং ব্রাউজারে পাঠানোর জন্য আউটপুট বাফারের জন্য আপডেট করা বিষয়বস্তু ফেরত দিতে হবে। যদি output_callback একটি বৈধ ফাংশন না হয়, তাহলে নথিভুক্ত ফাংশন ফিরে আসবে মিথ্যা. এই পরামিতি জন্য ফাংশন বিবরণ:

স্ট্রিং হ্যান্ডলার (স্ট্রিং $বাফার [, int $phase ])

বাফার আউটপুট বাফারের বিষয়বস্তু।পর্যায় ধ্রুবকের বিট মাস্ক PHP_OUTPUT_HANDLER_*.

যদি আউটপুট_কলব্যাক ফিরে আসে মিথ্যা, তারপর মূল তথ্য পরিবর্তন ছাড়াই ব্রাউজারে পাঠানো হবে।

output_callback প্যারামিটার মান পাস করে উপেক্ষা করা যেতে পারে খালি.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush()এবং ob_start()কলব্যাক ফাংশন থেকে কল করা যাবে না, যেহেতু তাদের আচরণ অনির্দেশ্য। আপনি যদি বাফারের বিষয়বস্তু মুছতে চান, তাহলে কলব্যাক ফাংশন থেকে "" (একটি খালি স্ট্রিং) ফেরত দিন। এছাড়াও আপনি ফাংশন কল করতে পারবেন না print_r($expression, true)বা highlight_file($filename, true)আউটপুট বাফারিং কলব্যাক ফাংশন থেকে।

মন্তব্য করুন:

পিএইচপি 4.0.4 ফাংশন ob_gzhandler()সংকুচিত ওয়েব পৃষ্ঠাগুলিকে সমর্থন করে এমন ওয়েব ব্রাউজারগুলিতে gz-এনকোড করা ডেটা পাঠানো সহজ করার জন্য চালু করা হয়েছিল। ob_gzhandler()ব্রাউজার দ্বারা গৃহীত সামগ্রী এনকোডিং প্রকার নির্ধারণ করে এবং সেই অনুযায়ী আউটপুট প্রদান করে।

chunk_size

ঐচ্ছিক chunk_size প্যারামিটারটি পাস করা হলে, chunk_size এর চেয়ে বড় বা সমান যেকোন আউটপুট পরে বাফারটি ফ্লাশ করা হবে। ডিফল্ট মান 0 মানে বাফার বন্ধ হলে আউটপুট ফাংশন কল করা হবে।

পিএইচপি 5.4.0 এর আগে, মান 1 একটি বিশেষ মান যা প্যারামিটার সেট করে chunk_size 4096 এ।

ফ্ল্যাগ প্যারামিটার হল একটি বিটমাস্ক যা আউটপুট বাফারে সঞ্চালিত ক্রিয়াকলাপগুলিকে নিয়ন্ত্রণ করে। ডিফল্টরূপে, এটি আউটপুট বাফারকে ফ্লাশ, ফ্লাশ এবং মুছে ফেলার অনুমতি দেয়, যা | | , বা PHP_OUTPUT_HANDLER_STDFLAGSএই সংমিশ্রণের সংক্ষিপ্ত রূপ হিসাবে।

প্রতিটি পতাকা ফাংশনের একটি সেটের অ্যাক্সেস নিয়ন্ত্রণ করে, যেমনটি নীচে বর্ণিত হয়েছে:

ধ্রুবক ফাংশন
PHP_OUTPUT_HANDLER_CLEANABLE ob_clean(), ob_end_clean(), এবং ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE ob_end_flush(), ob_flush(), এবং ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE ob_end_clean(), ob_end_flush(), এবং ob_get_flush().

মান ফেরত দিন

রিটার্নস সত্যসফল সমাপ্তির উপর বা মিথ্যাএকটি ত্রুটির ক্ষেত্রে।

পরিবর্তনের তালিকা

সংস্করণ বর্ণনা
7.0.0 যদি ob_start()আউটপুট বাফার কলব্যাক ফাংশনের ভিতরে ব্যবহৃত হয়, এই ফাংশনটি আর একটি ত্রুটি তৈরি করবে না E_ERROR, কিন্তু পরিবর্তে কল করবে E_RECOVERABLE_ERROR, তৃতীয় পক্ষের ত্রুটি হ্যান্ডলারদের এটি ধরার অনুমতি দেয়।
5.4.0 তৃতীয় প্যারামিটার ob_start()বুলিয়ান থেকে পরিবর্তিত ( বুলিয়ান) মুছে ফেলা প্যারামিটারের (যা, যখন সেট করা হয় মিথ্যাস্ক্রিপ্ট সম্পূর্ণ না হওয়া পর্যন্ত বাফারটিকে মুছে ফেলা থেকে একটি পূর্ণসংখ্যা ( পূর্ণসংখ্যা) পতাকা প্যারামিটার। দুর্ভাগ্যবশত, এর অর্থ হল কোডের জন্য API অসঙ্গতি যা PHP 5.4.0 এর আগে তৃতীয় প্যারামিটার ব্যবহার করেছিল। কোডের সাথে কীভাবে কাজ করতে হয় তা বোঝার জন্য পতাকাগুলির উদাহরণ দেখুন যাতে এটি উভয় সংস্করণের সাথে সামঞ্জস্যপূর্ণ হয়।
5.4.0 প্যারামিটার chunk_size, এ ইনস্টল করা হয়েছে 1 , এখন আউটপুট বাফারে 1 বাইট আউটপুট হচ্ছে।
4.3.2 ফাংশন ফিরে আসবে মিথ্যাযদি আউটপুট_কলব্যাক কার্যকর করা যায় না।

উদাহরণ

উদাহরণ #1 একটি ব্যবহারকারী-সংজ্ঞায়িত কলব্যাক ফাংশনের উদাহরণ

ফাংশন কলব্যাক ($বাফার)
{
// কমলা দিয়ে সব আপেল প্রতিস্থাপন করুন
return (str_replace("আপেল", "কমলা", $buffer));
}

Ob_start("কলব্যাক");

?>


এটা আপেল এবং কমলা তুলনা করার মত.






ob_end_flush();