পিএইচপি-তে কোনও ফাইল লিখবেন কীভাবে?


108

আমার কাছে এই স্ক্রিপ্টটি একটি ফ্রি পিএইচপি-সমর্থনকারী সার্ভারে রয়েছে:

<html>
<body>

<?php
$file = fopen("lidn.txt","a");


fclose($file);
?>

</body>
</html>

এটি ফাইলটি তৈরি করে lidn.txtতবে এটি খালি।

আমি কীভাবে একটি ফাইল তৈরি করতে পারি এবং এতে কিছু লিখতে পারি, উদাহরণস্বরূপ "বিড়ালদের তাড়া ইঁদুর" রেখাটি?

উত্তর:


153

আপনি যেমন একটি উচ্চ-স্তরের ফাংশন ব্যবহার করতে পারেন:

file_put_contents($filename, $content);

যা কলিং অভিন্ন fopen(), fwrite()এবং fclose()একটি ফাইলে ধারাবাহিকভাবে লিখতে ডেটা।

দস্তাবেজ: ফাইল_পুট_কন্টেন্টস


3
কেবলমাত্র একটি সিডেনোট, file_put_contents()কেবলমাত্র PHP5 এ কাজ করে। এই ক্ষেত্রে কোনও সমস্যার মতো মনে হচ্ছে না (আপনার উত্তরটি গ্রহণকর্তা পেয়েছে, সর্বোপরি), তবে এখনও পিএইচপি 4.এক্স চলমান কয়েকটি হোস্ট থাকতে পারে।
দুরোথ

2
একটি খুব গুরুত্বপূর্ণ সিডনোট: ফাইল_পুট_কন্টেন্টস () হ'ল ফপেন () এর তুলনায় একটি স্মৃতি দুঃস্বপ্ন। আমি এটি ব্যবহার করতে পছন্দ করি তবে বড় ফাইলগুলি পরিচালনা করার সময় আপনি এতে ডেটা "স্ট্রিম" করতে সক্ষম হতে চান। পিএইচপি-র অভ্যন্তরীণ মেমরি হিসাবে চূড়ান্ত ফাইলসাইজের বৃহত একাধিকের প্রয়োজন হবে, সুতরাং এই ফাংশনটি ব্যবহার করার সময় এটি মনে রাখবেন। অল্প পরিমাণে ডেটার জন্য আমি এটির সহজ ব্যবহারের জন্য এটির পরামর্শ দিই।
জন

1
তারপরে ফাইল_পুট_কন্টেন্টস ($ ফাইলের নাম, $ অন্যান্য_প্রবাহ) ব্যবহার করুন। এটি স্ট্রিম_কপি_টো_স্ট্রিম-) ব্যবহার করার মতোই, যা খুব স্মৃতিশক্তি দক্ষ।
সেভেজম্যান

@ দুরোথ এটি কেবল পিএইচপি 5 এ কাজ করে বা এটি কেবল পিএইচপি 5 থেকে কাজ করে? এগুলি 2 ভিন্ন জিনিস।
এক্সএমএল

2
@ এক্সএমএল ২০০৯-এর সুদূর অতীতে নয়;) পিএইচপি 7 তখন প্রায় ছিল না। তবে হ্যাঁ, put_file_contents()পিএইচপি 5 এ প্রথম পরিচয় হয়েছিল এবং পরবর্তী সংস্করণগুলিতেও অন্তর্ভুক্ত করা হয়েছে।
দুরোথ

88

লেখাগুলি বিবেচনা করুন () :

<?php
$fp = fopen('lidn.txt', 'w');
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>


উপরের মত ফাইলটি লেখার পরে @ সতীশ ফাইলটি ( fclose($fp) ) বন্ধ না করে কীভাবে ফাইলটি পড়তে পারি , আমি চেষ্টা করেছিলাম $fp = fopen('lidn.txt', 'w+');, $fp = fopen('lidn.txt', 'a+');কিন্তু তাদের
দু'জনেরই


10
$text = "Cats chase mice";
$filename = "somefile.txt";
$fh = fopen($filename, "a");
fwrite($fh, $text);
fclose($fh);

তুমি ব্যাবহার কর fwrite()


উপরের মত ফাইলটিতে লেখার পরে ফাইলটি ( fclose($fh)) বন্ধ না করে কীভাবে আমরা ফাইলটি পড়ি , আমি চেষ্টা করেছি $fh = fopen('lidn.txt', 'w+');, `$ fh = fopen ('lidn.txt', 'a +'); `তবে তাদের দু'জনের মধ্যেই কোনও কাজ হয়নি
কাসুন সায়াম্বলপিত্তিয়া


6

আমি আমার ওয়েব ডিরেক্টরিতে ফাইল লিখতে নিম্নলিখিত কোডটি ব্যবহার করি।

write_file.html

<form action="file.php"method="post">
<textarea name="code">Code goes here</textarea>
<input type="submit"value="submit">
</form>

write_file.php

<?php
// strip slashes before putting the form data into target file
$cd = stripslashes($_POST['code']);

// Show the msg, if the code string is empty
if (empty($cd))
    echo "Nothing to write";

// if the code string is not empty then open the target file and put form data in it
else
{
    $file = fopen("demo.php", "w");
    echo fwrite($file, $cd);

    // show a success msg 
    echo "data successfully entered";
    fclose($file);
}
?>

এটি একটি কার্যনির্বাহী স্ক্রিপ্ট। আপনি যদি নিজের সাইটে এটি ব্যবহার করতে চান তবে ফর্ম অ্যাকশনে ইউআরএল এবং ফোপেন () ফাংশনে টার্গেট ফাইলটি পরিবর্তন করতে ভুলবেন না ।

শুভকামনা।


1
আমি কেবল পিএইচপি লিখতে শুরু করেছি তবে দেখে মনে হচ্ছে আপনি কেবল একটি টেক্সট ফাইলই লিখছেন না, তবে আপনি আপনার সার্ভারে একটি পিএইচপি কোড ফাইল লিখছেন যা "ডেমো.এফপি" ইউআরএল উল্লেখ করে তত্ক্ষণাত চালানো যেতে পারে। কেউ আপনার সার্ভারে দূষিত পিএইচপি কোড লিখতে এবং তাৎক্ষণিকভাবে এটি কার্যকর করতে পারে, তাই না? আমি ধরে নিলাম এটি এমনটি যাতে আপনি নিজের কোডগুলি পরীক্ষা করতে পারেন তবে লোকেদের এই বিশেষ প্রয়োগের ঝুঁকি সম্পর্কে সতর্ক করা উচিত। (এটি বলা হচ্ছে, আমি এটি পছন্দ করি এবং এটি আমাদের
নিজেরাই

6

কোনও ফাইল লিখতে আপনাকে PHPনিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. ফাইলটি খুলুন

  2. ফাইল লিখুন

  3. ফাইলটি বন্ধ করুন

    $select = "data what we trying to store in a file";
    $file = fopen("/var/www/htdocs/folder/test.txt", "a");
    fwrite($file  , $select->__toString());
         fclose($file );

6

পদক্ষেপ এখানে:

  1. ফাইলটি খুলুন
  2. ফাইল লিখুন
  3. ফাইলটি বন্ধ করুন

    $select = "data what we trying to store in a file";
    $file = fopen("/var/www/htdocs/folder/test.txt", "w");        
    fwrite($file, $select->__toString());
    fclose($file);

5

fwrite()একটি স্মিডজেন দ্রুত এবং file_put_contents()এটি যে কোনওভাবেই তিনটি পদ্ধতির চারপাশে কেবল একটি মোড়ক, যাতে আপনি ওভারহেড হারাবেন। প্রবন্ধ

file_put_contents (ফাইল, ডাটা, মোড, প্রসঙ্গ):

দ্য file_put_contentsএকটি ফাইলে একটি স্ট্রিং লিখেছেন।

এই ফাংশনটি এই নিয়ম একটি file.If FILE_USE_INCLUDE_PATH অ্যাক্সেস যখন সেট করা হয় অনুসরণ করে, পরীক্ষা রাস্তা অন্তর্ভুক্ত একটি কপি জন্য ফাইলের নাম ফাইল তৈরি করুন যদি এটি তারপর ফাইল এবং লক ফাইল যদি LOCK_EX সেট করা হয় খুলুন অস্তিত্ব নেই এবং যদি FILE_APPEND সেট করা হয়, ফাইলের শেষে যান। অন্যথায়, ফাইলের সামগ্রীটি সাফ করুন ফাইলটিতে ডেটা লিখুন এবং ফাইলটি বন্ধ করুন এবং কোনও লক প্রকাশ করুন। এই ফাংশনটি সাফল্যের সাথে ফাইলটিতে লিখিত অক্ষরের সংখ্যা বা ব্যর্থতার কারণে FALSE প্রদান করে।

কি fwrite (ফাইল, স্ট্রিং, দৈর্ঘ্য):

fwriteএকটি খোলা ফাইলকে লেখেন The ফাংশনটি ফাইলের শেষে বা এটি নির্দিষ্ট দৈর্ঘ্যে পৌঁছানোর পরে থামবে, যে কোনওটি প্রথমে আসে his

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.