הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 15-04-09, 00:19   # 1
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

בעיה ב-fread

שלום לכולם.
אני מנסה לערוך קובץ וכשאני מנסה לקרוא אותו אני מקבל את השגיאה הבאה:
Warning: fread() [function.fread]: Length parameter must be greater than 0
הנה הקוד, הבעיה היא בשורה 36:
PHP קוד:
<center>
<h1>Uploading a file:</h1>
<form action="<?php echo $PHP_SELF?>" method="post" enctype="multipart/form-data">  
Upload file: <input type="file" name="my_file"/>
<br/> 
<input type="submit" name="upload_file" value="Upload file!">
</form>
<br>
<h2>Open a file:</h2>
<form method="post">
<tr>
<td><gb>Name of the file to open:</gb></td>
<td><input type=text name="file" value="test.txt"></td>
</tr>
<tr>
<input type="submit" name="open_file" value="Open file!">
</form>
<br>
</center>
<?php
if(isset($_POST['upload_file']))    {
    if (!empty(
$_FILES["my_file"]["name"]))    {
        
$dir getcwd()."/files/"
        
move_uploaded_file($_FILES["my_file"]["tmp_name"] , $dir.$_FILES["my_file"]["name"]);  
        echo 
"<center><b>Message:</b></center>";
        echo 
"<center>The file was uploaded!</center>";
}
else    {
    echo 
"<center><b>Error:</b></center>";
    echo 
"<center>Falied to upload the file!</center>";
    }
}
if(isset(
$_POST['open_file']))    {
    echo 
"<center>Editing the file:<b>{$_POST['file']}</b></center>";
    
$file_open fopen("files/{$_POST['file']}""wb");
    
$text fread($file_openfilesize("files/{$_POST['file']}"));
    
$br_text str_replace("\n""<BR>"$text);
    echo 
"<center><tr><td><textarea rows='20' name='edit_area' cols='50' value='{$br_text}'></textarea></tr></td></center>";
    echo 
"<center><tr><td><input type='submit' name='edit_file' value='Edit file!'></tr></td></center>";
if(isset(
$_POST['edit_file']))    {
    
fwrite($file_open$_POST["edit_area"]);
    echo 
"<center><b>Message:</b></center>";
    echo 
"<center>Succsess to edit the file!</center>";
    }
    
fclose($file_open);
}
?>
__________________
יונתן.
אימייל: jonathan@zeierman.net

Last edited by Jonathan Zeierman; 15-04-09 at 00:25..
  Reply With Quote
ישן 15-04-09, 00:25   # 2
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

PHP קוד:
Warningfread() [function.fread]: Length parameter must be greater than 0 
נסתכל ב-php.net ונראה,
http://il.php.net/manual/en/function.fread.php
הפרמטר השני הוא "Length".

זאת אומרת שכנראה
PHP קוד:
filesize("files/{$_POST['file']}"
לא מחזיר תוצאות כמצופה.

תשים מעל השורה,
var_dump($_POST['file']);
ותראה בעצמך מה יוצא.
  Reply With Quote
ישן 15-04-09, 00:27   # 3
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

ציטוט:
נכתב במקור על ידי MasterT צפה בהודעה
PHP קוד:
Warningfread() [function.fread]: Length parameter must be greater than 0 
נסתכל ב-php.net ונראה,
http://il.php.net/manual/en/function.fread.php
הפרמטר השני הוא "Length".

זאת אומרת שכנראה
PHP קוד:
filesize("files/{$_POST['file']}"
לא מחזיר תוצאות כמצופה.

תשים מעל השורה,
var_dump($_POST['file']);
ותראה בעצמך מה יוצא.
מדפיס לי את התוצאה הבאה:
קוד:
string(8) "test.txt" 
Warning: fread() [function.fread]: Length parameter must be greater than 0
__________________
יונתן.
אימייל: jonathan@zeierman.net
  Reply With Quote
ישן 15-04-09, 00:29   # 4
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ציטוט:
נכתב במקור על ידי Yoni | Ventrilo.co.il צפה בהודעה
מדפיס לי את התוצאה הבאה:
קוד:
string(8) "test.txt" 
Warning: fread() [function.fread]: Length parameter must be greater than 0
אל תגרום לשיחה הזאת להיות משפט-משפט. האם הקובץ הזה באמת קיים בתיקיה המבוקשת?
(אגב, אני מקווה שיש את הדבר הבא בקוד שלך:
PHP קוד:
error_reporting(E_ALL); 
)

השלב הבא יהיה לעשות var_dump(filesize("files/{$_POST['file']}"));
  Reply With Quote
ישן 15-04-09, 00:40   # 5
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

ציטוט:
נכתב במקור על ידי MasterT צפה בהודעה
אל תגרום לשיחה הזאת להיות משפט-משפט. האם הקובץ הזה באמת קיים בתיקיה המבוקשת?
(אגב, אני מקווה שיש את הדבר הבא בקוד שלך:
PHP קוד:
error_reporting(E_ALL); 
)

השלב הבא יהיה לעשות var_dump(filesize("files/{$_POST['file']}"));
אין את הדבר בקוד שלי.
אני די חדש בכל ה- FOPEN וכו'.
זה מה שעשיתי:
PHP קוד:
<center>
<h1>Uploading a file:</h1>
<form action="<?php echo $PHP_SELF?>" method="post" enctype="multipart/form-data">  
Upload file: <input type="file" name="my_file"/>
<br/> 
<input type="submit" name="upload_file" value="Upload file!">
</form>
<br>
<h2>Open a file:</h2>
<form method="post">
<tr>
<td><gb>Name of the file to open:</gb></td>
<td><input type=text name="file" value="test.txt"></td>
</tr>
<tr>
<input type="submit" name="open_file" value="Open file!">
</form>
<br>
</center>
<?php
if(isset($_POST['upload_file']))    {
    if (!empty(
$_FILES["my_file"]["name"]))    {
        
$dir getcwd()."/files/"
        
move_uploaded_file($_FILES["my_file"]["tmp_name"] , $dir.$_FILES["my_file"]["name"]);  
        echo 
"<center><b>Message:</b></center>";
        echo 
"<center>The file was uploaded!</center>";
}
else    {
    echo 
"<center><b>Error:</b></center>";
    echo 
"<center>Falied to upload the file!</center>";
    }
}
if(isset(
$_POST['open_file']))    {
    echo 
"<center>Editing the file:<b>{$_POST['file']}</b></center>";
    
var_dump($_POST['file']);
    
var_dump(filesize("files/{$_POST['file']}"));
    
$file_open fopen("files/{$_POST['file']}""r");
    
$text fread($file_openfilesize("files/{$_POST['file']}"));
    
$br_text str_replace("\n""<BR>"$text);
    echo 
"<center><tr><td><textarea rows='20' name='edit_area' cols='50' value='{$br_text}'></textarea></tr></td></center>";
    echo 
"<center><tr><td><input type='submit' name='edit_file' value='Edit file!'></tr></td></center>";
//if(isset($_POST['edit_file']))    {
    //fwrite($file_open, $_POST["edit_area"]);
    //echo "<center><b>Message:</b></center>";
    //echo "<center>Succsess to edit the file!</center>";
    //}
    
fclose($file_open);
}
?>
מדפיס:
string(8) "test.txt" int(4)
ולא מראה לי שום דבר בתוך תיבת הטקסט.
עריכה:
נזכרתי כשיש textarea אין value.
ניסתי לפתוח תקובץ ולהדפיס לתוך text input, והדפיס.
איך אני מכניס לתוך textarea value?
__________________
יונתן.
אימייל: jonathan@zeierman.net

Last edited by Jonathan Zeierman; 15-04-09 at 00:49..
  Reply With Quote
ישן 15-04-09, 14:39   # 6
DorOaki
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 229

DorOaki לא מחובר  

PHP קוד:
<textarea>{$br_text}</textarea
  Reply With Quote
ישן 15-04-09, 14:45   # 7
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

ציטוט:
נכתב במקור על ידי DorOaki צפה בהודעה
PHP קוד:
<textarea>{$br_text}</textarea
מומלץ להעביר את מה שאתה מדפיס לתוך ה textarea דרך htmlspecialchars
PHP קוד:
<textarea><?php echo htmlspecialchars($val); ?></textarea>
ובנוגע לבעיה, הפונקציה fread צריכה בפרמטר השני מספר של בייטים לקרוא, והמספר שהיא מקבלת בקוד שלך מהפונקציה filesize הוא 0, כי יש מצב שהקובץ ריק.
אז מה שאתה יכול לעשות זה לעשות תנאי שאם הקובץ בגודל 0, שפשוט לא יקרא את התוכן שלו והtextarea יהיה ריק.

Last edited by בניה; 15-04-09 at 14:48..
  Reply With Quote
ישן 15-04-09, 15:35   # 8
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

תריץ
is_file("files/$_POST['xxx']")

ותראה (:
__________________
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 15:46.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ