PDA

View Full Version : تغییر یک کلمه هنگام خواندن در readfile



R E Z A P
پنج شنبه 15 مهر 1389, 18:14 عصر
سلام
میخواستم یه کمکی بهم بکنید
من میخوام یه فایل رو بخونم مثل test.txt
و هنگام نمایش به این صورت

$test = 'test.txt';
readfile($test);'
فقط بیاد و یه کلمه که در فایل text هست رو تغییر بده نه در خود فایل فقط هنگام خوندن.

مثلا محتویات فایل هست
name = username
که بجای username نام شخص که login کرده نمایش داده بشه.
یعنی مثلا شخص A که این فایل test رو میخونه بهش نمایش داده بشه name = A و اگر هم شخص B که این فایل test رو بخونه بهش نمایش داده بشه name = B
ممنون اساتید

sama01
پنج شنبه 15 مهر 1389, 18:58 عصر
خوب شما باید از دستورات replace استفاده کنید. چون متون شما پیچیده نیست، به‌ترین کار استفاده از str_replace هست.
مثلا به این شکل:
$file_path = 'test.txt';
$file = fopen($file_path, 'r');

$username = 'ali';
$output = str_replace('userneme', $username, $file);

امیـرحسین
پنج شنبه 15 مهر 1389, 21:27 عصر
این یک نمونه برای داونلود یعنی کاربر فایلی رو دریافت می کنه که همون لحظه ویرایش شده:
$file = 'some.txt';
$content = file_get_contents($file);
$content = str_replace('##username##', $username, $content);

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=some.txt');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
die($content);

R E Z A P
جمعه 16 مهر 1389, 05:29 صبح
تشکر از شما دو دوست عزیز
مشکل رفع شد

funpatogh
جمعه 16 مهر 1389, 18:07 عصر
خوب شما باید از دستورات replace استفاده کنید. چون متون شما پیچیده نیست، به‌ترین کار استفاده از str_replace هست.
مثلا به این شکل:
$file_path = 'test.txt';
$file = fopen($file_path, 'r');

$username = 'ali';
$output = str_replace('userneme', $username, $file);
اینجا یک fread کم داره


<?php
$file_path = 'test.txt';
$file = fopen($file_path, 'r');
$read=fread($file,filesize($file_path));
$username = 'ali';
$output = str_replace('userneme', $username, $read);

?>