পিএইচপি ব্যবহার করে একটি পৃষ্ঠা রিফ্রেশ করুন


148

আমি কীভাবে পিএইচপি পর্যায়ক্রমে একটি পৃষ্ঠা রিফ্রেশ করতে পারি? আমি যদি পিএইচপি দ্বারা এটি না করতে পারি তবে সেরা প্রস্তাবিত দৃশটি কী?


আমরা কি সিঙ্কের বিষয়ে কথা বলছি (আপনার পিএইচপি স্ক্রিপ্টটি পার্স করার সময় আপনি রিফ্রেশ করতে চান এমন কোনও পরিস্থিতির মুখোমুখি হচ্ছেন) রেফ্রাহস (মেটা রিফ্রেশ ঠিকঠাক কাজ করবে) বা কোনও পৃষ্ঠা অ্যাসিঙ্ক অবিচ্ছিন্ন রিফ্রেশ সম্পর্কে (আরও জাভাস্ক্রিপ্ট / এজাক্সের মতো)?
নাজ্জারো

উত্তর:


275

আপনি পিএইচপি দিয়ে এটি করতে পারেন:

header("Refresh:0");

এটি আপনার বর্তমান পৃষ্ঠাটিকে রিফ্রেশ করে এবং আপনার যদি এটি অন্য পৃষ্ঠায় পুনর্নির্দেশের প্রয়োজন হয় তবে নিম্নলিখিতগুলি ব্যবহার করুন:

header("Refresh:0; url=page2.php");

1
রিফ্রেশ কোনও অফিসিয়াল শিরোনাম নয়, তবে নেটস্কেপ নেভিগেটর থেকে অনেক ব্রাউজার দ্বারা এটি সমর্থন করে। তার অর্থ আপনার শ্রোতা সমর্থনকারী ব্রাউজারগুলি ব্যবহার করে তা নিশ্চিত করার জন্য আপনাকে পরীক্ষা করতে হবে।
পতঞ্জলি 21

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


সমাধানের জন্য এখানে পরীক্ষা করুন ; tldr ব্যবহার করার আগে না আউটপুট কিছু, আপনি যা করতে পারেনheader();
আদ্রিয়ান

109

ইন পিএইচপি আপনি ব্যবহার করতে পারেন:

$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");

অথবা কেবল জাভাস্ক্রিপ্ট ব্যবহার করুন window.location.reload()


2
ইয়াজানা শিরোনাম ('অবস্থান:') ব্যবহারকারীর যেকোন ইউআরএলকে পুনর্নির্দেশের জন্য ব্যবহৃত হয়, আপনি এটি ব্যবহার করে পৃষ্ঠাটি রিফ্রেশ করতে পারবেন না।
দেশপ্রেমিক

2
প্রতীক। আপনি ভুল. আপনি একটি পৃষ্ঠা রিফ্রেশ করতে সত্যই হেডার ("রিফ্রেশ:") ব্যবহার করতে পারেন
131

6
আপনি উভয়ই করতে পারেন যদিও আমি এর সাথে অপেক্ষা করার সময়টি পছন্দ করি না:header("Location: ".$_SERVER['PHP_SELF']);
জন ম্যাগনোলিয়া

4
এই সমাধান সম্পর্কে একটি নোট: যদি আপনার সাইটটি কোনও দুর্দান্ত রুটিং বা ইউআরএল পুনর্লিখন (যেমন ডিফল্টরূপে প্রায় কোনও ফ্রেমওয়ার্ক) প্রয়োগ করে থাকে $_SERVER['PHP_SELF']তবে আপনি খুঁজে পেতে পারেন সত্যিকারের স্ক্রিপ্টের পথ, এবং আপনার ব্রাউজারে দেখা প্রকৃত URL নয়। যে ক্ষেত্রে, $_SERVER['REQUEST_URI']পরিবর্তে ব্যবহার করার চেষ্টা করুন ।
ব্যাডহর্সি

18

আপনি অবশ্যই পিএইচপি ব্যবহার করে একটি পৃষ্ঠা পর্যায়ক্রমে রিফ্রেশ করতে পারেন:

<?php
    header("refresh: 3;");
?>

এটি প্রতি তিন সেকেন্ডে পৃষ্ঠাটি রিফ্রেশ করবে।



12

আমি পিএইচপি কন্টেন্ট রিফ্রেশ করার দুটি উপায় খুঁজে পেয়েছি:

1. এইচটিএমএল metaট্যাগ ব্যবহার :

echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'

২. পিএইচপি রিফ্রেশ রেট ব্যবহার করে:

$delay = 0; // Where 0 is an example of a time delay. You can use 5 for 5 seconds, for example!
header("Refresh: $delay;"); 

2
//Refresh by HTTP META => // Refresh by HTML METAএটিকে উপরে থেকে অনুলিপি করা কোনও উত্তর বলে মনে হচ্ছে।
php_coder_3809625

11

কোনও পৃষ্ঠা রিফ্রেশ করার সমস্ত পিএইচপি উপায় ছাড়াও, পৃষ্ঠাটি নিম্নলিখিত এইচটিএমএল মেটা ট্যাগ দিয়ে রিফ্রেশ হবে:

<meta http-equiv="refresh" content="5">

মেটা রিফ্রেশ দেখুন - "প্রদত্ত সময়ের ব্যবধানের পরে বর্তমান ওয়েব পৃষ্ঠা বা ফ্রেমটি স্বয়ংক্রিয়ভাবে রিফ্রেশ করুন"

আপনি contentমানটির মধ্যে সময় নির্ধারণ করতে পারেন ।


3
এটি প্রতি 0 সেকেন্ডে রিফ্রেশ করবে - সম্ভবত আপনি যা যাচ্ছেন তা নয় :)
ওয়ারেন

3
হ্যাঁ আমি এই উত্তরে মন্তব্য করছি: সবসময় উন্নতির অবকাশ থাকে। এবং আপনি ঠিক বলেছেন, আপনি contentসেকেন্ডে যে কোনও মানের সমান সেট করতে পারেন - আমার মন্তব্যটি এখনও লক্ষণীয় যে 0 সেকেন্ডের রিফ্রেশ সম্ভবত আপনি যা যাচ্ছেন তা নয় :)
ওয়ারেন

2
@ ম্যাথলাইট এবং অন্য কেউ বিলম্বিত মন্তব্যের বিষয়ে অভিযোগ করেন। কেবলমাত্র আপনি এগিয়ে চলেছেন বলেই, ভবিষ্যতের পাঠক সম্ভবত সমস্যাটি অনুভব করতে পেরেছেন এবং আপনার উত্তর / মন্তব্য এবং এটির পক্ষে যে কোনও বিলম্বিত দেরিতে এখনও তাদের প্রাসঙ্গিক হতে পারে।
পতঞ্জলি 21

1
@ ম্যাথলাইট আমি নিশ্চিত নই কেন লোকেরা কেন মনে করে যে কোনও পোস্ট পুরানো বলে মন্তব্য করার কোনও মূল্য থাকতে পারে না। আপনার সেই ভাবনাটি নিষ্পত্তি করা উচিত।
মার্ক ক্র্যামার

"যদি বিবৃতি থেকে বিল্ড ইন" বলতে আপনার অর্থ কী ?
পিটার মর্টেনসেন

2

header('Location: .'); পৃষ্ঠাটি ক্রোম, ফায়ারফক্স, এজ এবং ইন্টারনেট এক্সপ্লোরার 11 এ রিফ্রেশ মনে হচ্ছে।


যেমনটি (একবার) হওয়া উচিত: php.net/manual/en/function.header.php : "দ্বিতীয় বিশেষ ক্ষেত্রে হ'ল" অবস্থান: "শিরোলেখ। "201 বা 3xx স্থিতি কোড ইতিমধ্যে সেট না করা থাকলে ব্রাউজারে একটি REDIRECT (302) স্থিতি কোড code"
জেড

তবে ওপি যা চেয়েছিল তা নয়। আমি এখনও এটি উত্সাহিত করেছি, কারণ আমি বুঝতে পেরেছিলাম যে কেবল পরে, দুঃখিত। এটা শীঘ্রই ক্রিসমাস! :)
জেড

1

আপনি পিএইচপি এ এটি করতে পারবেন না । পৃষ্ঠাটি লোড হয়ে গেলে, পিএইচপি মারা যায় এবং নিয়ন্ত্রণের বাইরে চলে যায়।

আপনার স্বল্প কিছু সু্যোগ আছে:

  • জাভাস্ক্রিপ্ট ব্যবহার করুন
  • রিফ্রেশ মেটা ট্যাগ ব্যবহার করুন, <meta http-equiv="refresh" content="5">

আমি মনে করি রিফ্রেশ মেটা ট্যাগটি সবচেয়ে সহজ এবং সবচেয়ে সুবিধাজনক।


63
ভুল, আপনি পিএইচপি ব্যবহার করে পর্যায়ক্রমে একটি পৃষ্ঠা রিফ্রেশ করতে পারেন, যদি আপনি পিএইচপি-র শিরোনাম ফাংশনটি ব্যবহার করেন: হেডার ("রিফ্রেশ: 3;");
131

1
আপনি পিএইচপি-তে কোনও শিরোলেখ ব্যবহার করে একটি পৃষ্ঠা সতেজ করতে পারেন। এছাড়াও, মিতা রেফ্রেশ ব্যবহার এসইওর পক্ষে আদর্শ নয়।
TheCarver

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

2
ভুল! দয়া করে আপনার উত্তরটি ঠিক করুন ... প্রকৃতপক্ষে এটি পিএইচপি
এম_আর_কে

1
এটি সম্পূর্ণ ভুল! প্রতিটি সম্ভাব্য উপায়ে। এটি পিএইচপি, শিরোনাম (রিফ্রেশ) দ্বারা এবং ট্রিগারযুক্ত পুনঃনির্দেশ দ্বারা করা যেতে পারে। দেখে মনে হচ্ছে অন্য সমস্ত উত্তর ভাল।
বুদিমির গ্রোম

1

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


2
আপনি যদি কোডটি অন্তর্ভুক্ত করেন তবে এই উত্তরটি আরও কিছুটা বোধগম্য হতে পারে।
I.Am.A.Guy

1

পিএইচপি হ'ল সার্ভার-সাইড ল্যাঙ্গুয়েজ, সুতরাং আপনি পিএইচপি দিয়ে পৃষ্ঠাটি রিফ্রেশ করতে পারবেন না, তবে জাভা স্ক্রিপ্টটি পৃষ্ঠাটি রিফ্রেশ করার সেরা বিকল্প:

location.reload();

দর্শন অবস্থান পুনরায় লোড () পদ্ধতি


1
হাহাহাহা ঠিক আছে, আপনি যেমন চান। এটি পরীক্ষা করে দেখুন => ( ভুলডোমেন.ইপিএল.ফ্যানেক্সট.কম ) তিনি উল্লেখ করেননি যে পৃষ্ঠাটি লোড হওয়ার পরে 'তিনি' রিফ্রেশ করবেন। যদি রিফ্রেশ করার সিদ্ধান্ত পিএইচপি কোডটি কার্যকর করার সময় নেওয়া হয়েছিল, তবে পিএইচপি অবশ্যই রিফ্রেশ করতে পারে এবং কত সেকেন্ড সতেজ করতে হবে তা বেছে নিতে পারে।
মোহাম্মদ জোরেড

@ আহমাদ, আপনি পিএইচপি এর বৈশিষ্ট্য হিসাবে বিবেচনা করতে পারবেন না, এটি HTML এর বৈশিষ্ট্য of সুতরাং সাজানোর মাধ্যমে আপনি এইচটিএমএল প্রতিক্রিয়া শিরোনাম সেট করে করছেন। এবং সে কারণেই আমি বলেছিলাম যে আপনি পিএইচপি দিয়ে এটি করতে পারবেন না। আর একটি জিনিস, আপনি প্রয়োজন / লোড করার পরে পৃষ্ঠা রিফ্রেশ করতে পারবেন না। হ্যাঁ আপনি উত্তর হিসাবে কিছু সেকেন্ড বা ইত্যাদি জন্য সেট করতে পারেন।
প্যাট্রিকস

ওহ প্রযুক্তিগততা। মনে করেন কোনও নির্দিষ্ট চিত্রকে রিফ্রেশ করার জন্য শিরোলেখ ব্যবহার করা সম্ভব? এটি যদি আপনি মোটা পিএইচপি এর মাধ্যমে চিত্রটি স্ট্রিম করেন।
ইজেডফ্রেগ

সত্যিই @ ইজেডফ্রেগ, আমি জানি না, কীভাবে সম্ভব তা আপনি আমাকে বলতে পারবেন?
614 এ 4:44 এ প্যাট্রিকস

হ্যাঁ, এটি খুঁজে পেয়েছি। প্রথমে আমি একটি সাধারণ চিত্র ট্যাগ চেষ্টা করেছিলাম। ভাগ্য নেই. তবে তারপরে আমি চিত্র ট্যাগটি আইফ্রেমে ট্যাগ এবং ভয়েলা দিয়ে প্রতিস্থাপন করেছি। চিত্রটি স্বয়ংক্রিয়ভাবে সতেজ হয়। এটি আমার পৃষ্ঠার কিছু স্থিতির চিত্রগুলির সাথে অনেক সহায়তা করবে :) যারা ভাবছেন তাদের জন্য, আমি রিফ্রেশ শিরোলেখের সাথে পিএইচপি এর মাধ্যমে চিত্রটি পরিবেশন করছি, পিএইচপি ফাইলটিকে iframe এর src হিসাবে সেট করছি setting
ইজেডফ্রেগ

1

metaট্যাগটির মতো ইকো করুন :

ইউআরএল হ'ল পৃষ্ঠাকে রিফ্রেশের পরে পুনঃনির্দেশ করা উচিত।

echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";

তবে প্রশ্ন পুনঃনির্দেশ সম্পর্কে নয়। এটা রিফ্রেশ সম্পর্কে।
পিটার মর্টেনসেন

1

পিএইচপি-তে এই মেটা ট্যাগ যুক্ত করা সাহায্য করতে পারে:

echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';

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

তবে প্রশ্ন পুনঃনির্দেশ সম্পর্কে নয়। এটা রিফ্রেশ সম্পর্কে।
পিটার মর্টেনসেন

0

একটি কৌশলটি ইউআরএল শেষে একটি এলোমেলো সংখ্যা যুক্ত করা হয়। এইভাবে আপনাকে প্রতিবার ফাইলটির নাম পরিবর্তন করতে হবে না। উদাহরণ:

echo "<img src='temp.jpg?r=3892384947438'>"

যতক্ষণ এলোমেলো সংখ্যা পৃথক হয় ততক্ষণ ব্রাউজার এটিকে ক্যাশে করবে না তবে ওয়েব সার্ভার এটিকে উপেক্ষা করবে।


2
কীভাবে এটি পর্যায়ক্রমে একটি পৃষ্ঠা রিফ্রেশ করে? আপনি কি অন্য উত্তরে সাড়া দিচ্ছেন?
পিটার মর্টেনসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.