הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה קטנה בPHP (https://hosts.co.il/forums/showthread.php?t=82439)

InetKey.Net 06-05-10 12:08

עזרה קטנה בPHP
 
שלום!

יש לי קוד שקורא תיקיה ומציג את התכנים שלה בתוך select

PHP קוד:

<select name="resname" class="select">
<?php

if ($handle opendir("directory")) {
   while (
false !== ($file readdir($handle))) {
if (
$file != "." && $file != "..")
       {
       if (!
is_dir($file))
    print 
"<option value=".$file">".$file"</option><br/>";
       }
  }

   
closedir($handle);
}
?>
</select>

אני רוצה לעשות תנאי, שאם התיקיה ריקה אז במקום שיציג לי SELECT ריק, שיהיה רשום למשל "התיקיה ריקה"

ניסיתי להשתמש במלא תנאים על $handle ועל $file ועל הרבה משתנים, ניסיתי לשים אותם בכל מיני מקומות ולהשתמש בתנאים שונים ואני עדיין לא מצליח! זה תמיד מציג לי select ריק.

אשמח עם תעזרו לי בבקשה,
תודה!

Shay Ben Moshe 06-05-10 13:17

PHP קוד:

<select name="resname" class="select">
<?php

$files 
glob("directory/*");
if(
count($files) == 0)
    echo 
"<option>הרשימה ריקה</option>";
else
    foreach(
$files as $file)
        echo 
"<option value=".$file.">".$file."</option>";
?>
</select>


InetKey.Net 06-05-10 13:28

זה גם לא עובד, זה עדיין מציג את השדה של הSELECT (אני רוצה שהוא יעלם בכלל ויהיה במקומו טקסט)

וגם בתוך הSELECT זה לא רק מציג את השם של הקבצים, זה מציג את כל הכתובת של התיקיה
במקרה שלי זה:
PHP קוד:

/vpanel/powerresellers/$_COOKIE[powername]/powerreseller-ventrilo/resellers

אני צריך שזה ידפיס רק את השם של התיקיות\קבצים שיש בתוך

Shay Ben Moshe 06-05-10 13:41

מה אתה עושה צחוק?
אז תוציא את הif מחוץ לselect.....
PHP קוד:

<?php
$files 
glob('directory/*');
if(
count($files) == 0)
    echo 
'הרשימה ריקה';
else {
    echo 
'<select name="resname" class="select">'
    
foreach($files as $file)
        echo 
'<option value='.$file.'>'.$file.'</option>';
    echo 
'</select>'
}


InetKey.Net 06-05-10 14:00

אבל אז זה כל פעם משכפל את הSELECT כל פעם שנוספת תיקיה בתוך!

תיקון: זה בסדר הסתדר אבל עדיין יש בעיה עם הGLOB
זה מדפיס את כל הכתובת של התיקיה, ואני רק צריך את השם של התיקיות
כשאני משתמש בGLOB " " זה מדפיס את כל הכתובת
כשאני משתמש בGLOB ב ' ' זה רושם שהרשימה ריקה

Shay Ben Moshe 06-05-10 14:25

אולי תקרא על glob בphp.net..?

InetKey.Net 06-05-10 14:32

קראתי עוד בפעם הראשנה ששלחת לי את הקוד ועדיין לא הסתדרתי עם זה

InetKey.Net 06-05-10 15:11

מישהו יכול לעזור לי?

Shay Ben Moshe 06-05-10 16:26

אני לא מאמין שזה הפתרון, כיוון שglob לא אמור להתנהג ככה.
אבל נסה את הפונקציה basename.

OrPol 06-05-10 18:19

http://www.htm.co.il/2009/10/25/%D7%...9%D7%99%D7%94/


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

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