PDA

View Full Version : سوال: ویرایش و ثبت فایل متنی از طریق textarea



soroush.r70
پنج شنبه 24 اسفند 1391, 11:34 صبح
چطوری می تونم یه فایلی متنی رو داخل یک textarea نمایش بدم و امکان ویرایش و ثبت فایل متنی از طریق این textarea وجود داشته باشه..؟

رضا قربانی
پنج شنبه 24 اسفند 1391, 11:49 صبح
پست شماره 17 : http://barnamenevis.org/showthread.php?235673-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-php&p=1125254&viewfull=1#post1125254

دستورتش رو بذار بین تگ باز و بست textarea

soroush.r70
پنج شنبه 24 اسفند 1391, 18:43 عصر
خوب فایل داخل area نمایش داده می شه حالا به چه صورت وقتی متنی از داخلش پاک شد و یا اضافه شد دکمه ثبت رو زدم تغییرات روی فایل متنی نمایش داده بشه و نشون بده...؟

اینم سورس من :


<?php
if(file_exists('inc/list.txt'))
{
chmod("inc/list.txt",0777);
$file="inc/list.txt";
$fp=fopen($file,'r');
flock($fp, LOCK_EX);
?>
<h4>ایمیل های خود را در فرم زیر ثبت کنید</h4>
<form action="">
<textarea name="emails" style="height:500px; width:50%;"><?php echo fread($fp,filesize($file)); ?></textarea><br>
<input type="submit" value="ثبت ایمیل" class="button">
</form>
<?php
flock($fp, LOCK_UN);
fclose($fp);
}
?>

رضا قربانی
جمعه 25 اسفند 1391, 14:03 عصر
خب موقع ارسال دوباره باید داخل همون فایل متنی اطلاعات رو ذخیره کنی و یکبار صفحه رو رفرش کنی

soroush.r70
جمعه 25 اسفند 1391, 17:36 عصر
مشکل همینجاست با fwrite پست می کنم ثبت نمی شه

111qqq
جمعه 25 اسفند 1391, 17:59 عصر
مشکل همینجاست با fwrite پست می کنم ثبت نمی شه

یعنی چی با fwrite پست می کنی ؟؟؟ ... یعنی با fwrite پست می کنی به سرور ؟؟؟
با $_POST یا $_GET پست میکنن .. بعد اونور $_POST رو میگیرن ... با fwrite فقط توی فایل مینویسن.

ضمنا اگه ارور داری ارورت رو بزار؟؟؟

soroush.r70
جمعه 25 اسفند 1391, 18:13 عصر
منظورم همینه اروری وجود نداره هیچ عکس العملی رو نشون نمی ده

چطوری می شه در کدهایی که بالا قرار دادم نوشتن و ثبت کردن رو عملی کرد....؟

soroush.r70
شنبه 26 اسفند 1391, 11:44 صبح
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!

iner30
شنبه 26 اسفند 1391, 12:39 عصر
کدهاتون رو بذارید

soroush.r70
شنبه 26 اسفند 1391, 13:29 عصر
کدهاتون رو بذارید

بالا هستش دیگه باید بهش نوشتن و ثبت کردن هم اضافه بشه

iner30
شنبه 26 اسفند 1391, 13:40 عصر
خوب همون ثبت کردن رو بش اضافه کنید دیگه
اول از طریق S_POST داده رو بخونید
بعد در فایل مورد نظر دوباره بنویسید



if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) { // a=append w=write
// echo "Cannot open ($filename)";
exit;
}
if (fwrite($handle, $note) === FALSE) {
// echo "Cannot write to ($filename)";
exit;
}
// echo "Success, wrote (RSS to ($filename)";
fclose($handle);
} else {
//echo "The file $filename is not writable";
}

soroush.r70
شنبه 26 اسفند 1391, 14:20 عصر
می تونید بگید دقیقا به چه صورت می شه ردیفش کرد آخه من با فایل زیاد کار نکردم....؟

iner30
شنبه 26 اسفند 1391, 14:29 عصر
تست نکردم ولی نباید مشکلی داشته باشه


<?php
$filename='inc/list.txt';
if(!isset($_POST['submit'])){
if(file_exists($filename))
{
chmod($filename,0777);

$fp=fopen($filename,'r');
flock($fp, LOCK_EX);
?>
<h4>ایمیل های خود را در فرم زیر ثبت کنید</h4>
<form action="" method="post">
<textarea name="emails" style="height:500px; width:50%;"><?php echo fread($fp,filesize($filename)); ?></textarea>
<input type="submit" value="ثبت ایمیل" class="button" name="submit"/>
</form>';
<?php
flock($fp, LOCK_UN);
fclose($fp);
}

}else{

$note=$_POST['emails'];

if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) { // a=append w=write
echo "Cannot open ($filename)";
exit;
}
if (fwrite($handle, $note) === FALSE) {
echo "Cannot write to ($filename)";
exit;
}
echo "Success, wrote (emails to ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
}

?>

soroush.r70
شنبه 26 اسفند 1391, 15:01 عصر
نشد که نشد چرا....؟

iner30
شنبه 26 اسفند 1391, 15:13 عصر
پست قبلیم ویرایش شد
دوباره تست کن