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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=29465)

amirs_5 22-08-06 18:13

[PHP] - בדיקה עם המחרוזת בעברית.
 
טוב היה לי רעיון , להכנסי את כל האותיות העבריות למערך , ואז לרוץ אחר המערכת ולראות אם המחרוזת מחילת אחת מהאותיות שבמערך.
אבל בגלל שישראלים פיתחו את השפה חשבתי שאולי יש איזה פונקציה שבודקת האם המחרוזת בעברית,
האם יש בה אותיות עבריות ..
אם יש כזאתי אז תביאו לי :)
אם לא אז תגידו לי איך הדרך שלי, תודה.

חוץ מזה אתמול פתחתי אשכול, ולא ענו לי עליו :S
http://www.hosts.co.il/forums/showthread.php?t=29341
יש לי שם בעיה בקוד , הקוד שם.
אשמח אם מישהו יענה לי על זה פה.

תודה לעוזרים.

RS324 22-08-06 18:19

eregi("[א-ת]+")

משהו כזה...

היה על זה דיון פעם

בניה 22-08-06 21:16

ציטוט:

נכתב במקור על ידי RS324
eregi("[א-ת]+")

משהו כזה...

היה על זה דיון פעם

ב"ה


PHP קוד:

eregi("/^[א-ת]+$/"); 

ליתר דיוק|קורץ|

amirs_5 22-08-06 21:18

תודה לשניכם :)
יו הביטויים הרגוליים האלה פשוט סוסים :)
אני מת ללמוד אותם ולא מבין מהם כלום חחחחח =:S
שוב פעם תודה :)

עריכה :
אם אני רוצה רק באנגלית + מספרים :
PHP קוד:

eregi("/^[a-z]+$/");  
eregi("/^[A-Z]+$/");  
eregi("/^[0-9]+$/"); 

ככה?

meshuga 22-08-06 21:22

ציטוט:

נכתב במקור על ידי amirs_5
תודה לשניכם :)
יו הביטויים הרגוליים האלה פשוט סוסים :)
אני מת ללמוד אותם ולא מבין מהם כלום חחחחח =:S
שוב פעם תודה :)

עריכה :
אם אני רוצה רק באנגלית + מספרים :
PHP קוד:

eregi("/^[a-z]+$/");  
eregi("/^[A-Z]+$/");  
eregi("/^[0-9]+$/"); 

ככה?

רק באנגלית ומספרים זה:
PHP קוד:

eregi("/^[a-zA-Z0-9]+$/"); 


amirs_5 22-08-06 21:45

תודה אחי :)

drowkid 23-08-06 00:47

XD כולם שחכו את המשתנה:
PHP קוד:

eregi("",$var); 


Itay 23-08-06 01:47

ציטוט:

נכתב במקור על ידי meshuga
רק באנגלית ומספרים זה:
PHP קוד:

eregi("/^[a-zA-Z0-9]+$/"); 


לא צריך את האותיות הגדולות אם משתמשים ב-eregi..

meshuga 23-08-06 03:02

ציטוט:

נכתב במקור על ידי Itay
לא צריך את האותיות הגדולות אם משתמשים ב-eregi..

אני לא יכול להגיד לך אם כן או לא כי אני לא משתמש בפונקציה הזאת.
אם אני לא טועה אפשר גם להוסיף את המודיפיקטור i אם אני לא טועה, שגורם לכך שזה מתעלם מהCASE של האותיות, אני לא מרבה להשתמש בREGEX לכן אני לא יכול להגיד לך בוודאות, לא יהרוג לנסות ;).

amirs_5 23-08-06 10:40

יש לי בעיה אם זה :
אני רשמתי
PHP קוד:

if(!eregi("/^[a-zA-Z0-9]+$/"$file)) $error "שם הקובץ חייב באנגלית בלבד!"

אבל לשם הקובץ שלי יש רווח ואני רוצה לאפשר רווחים ומקף תחתון.
איך אני מסדר את זה ?!

ועוד משהו ביטויים רוגליים בזמן האחרון התחילו לעניין אותי כי הם ממש שימושיים ורציתי אולי מקור ללמוד ממנו את זה ..

תודה לעוזרים :)

meshuga 23-08-06 13:01

ציטוט:

נכתב במקור על ידי amirs_5
יש לי בעיה אם זה :
אני רשמתי
PHP קוד:

if(!eregi("/^[a-zA-Z0-9]+$/"$file)) $error "שם הקובץ חייב באנגלית בלבד!"

אבל לשם הקובץ שלי יש רווח ואני רוצה לאפשר רווחים ומקף תחתון.
איך אני מסדר את זה ?!

ועוד משהו ביטויים רוגליים בזמן האחרון התחילו לעניין אותי כי הם ממש שימושיים ורציתי אולי מקור ללמוד ממנו את זה ..

תודה לעוזרים :)

א.תנסה:
PHP קוד:

if(!eregi("/^[a-zA-Z0-9 _]+$/"$file)) $error "שם הקובץ חייב באנגלית בלבד!"

ב.יש מדריך טוב בeitan.
http://php.eitan.ac.il/main.php?id=00171

amirs_5 23-08-06 13:15

אחי רשמתי ככה :
PHP קוד:

if(!eregi("/^[a-zA-Z0-9 _\.]+$/"$file)) $error "שם הקובץ יכול להכיל אך ורק מספרים קו תחתון ואותיות לועזיות"

והוא הביא לי את השגיאה.
זה שם הקובץ המדוייק.
קוד:

$file = "my humps.mp3";
ותודה על המדריך , אני יקרא אותו עוד מאט.

meshuga 23-08-06 13:20

לא יודע מה הבעיה עם eregi, תשתמש בpreg_match שם זה כן עבד..
ובגלל שיש לך גם A-Z וגם a-z זה יעשה אותו תפקוד.

amirs_5 23-08-06 13:29

רשמתי ככה :

PHP קוד:

if(!preg_match("/^[a-zA-Z0-9 _\.]+$/"$file)) $error "שם הקובץ יכול להכיל אך ורק מספרים קו תחתון ואותיות לועזיות"

ועדיין לא עובד הוא מביא שגיאה יש פה אולי טעות ?!

meshuga 23-08-06 13:48

ציטוט:

נכתב במקור על ידי amirs_5
רשמתי ככה :

PHP קוד:

if(!preg_match("/^[a-zA-Z0-9 _\.]+$/"$file)) $error "שם הקובץ יכול להכיל אך ורק מספרים קו תחתון ואותיות לועזיות"

ועדיין לא עובד הוא מביא שגיאה יש פה אולי טעות ?!

בטוח?
http://www.sbsil.net
קוד:
PHP קוד:

<?
$file 
"my humps.mp3";
if(!
preg_match("/^[a-zA-Z0-9 _\.]+$/"$file))
    echo 
"שם הקובץ יכול להכיל אך ורק מספרים קו תחתון ואותיות לועזיות"
else
    echo 
"טוב";
?>


amirs_5 23-08-06 14:56

כן צודק בגללי שעשעיתי בטעות קו כזה (-) במקום קו תחתון (_)

טוב עכשיו , זה עובד אבל יש לי עוד בעיה בקשר למערכת העלאת שירים הזאתי שאני בונה , זאת הראשונה :)
אממ זה הקוד שרשמתי ..:

PHP קוד:

    $error "";

           if(
$_FILES['file']['name']==''$error .= "לא נבחר קובץ.";

                 
$file $_FILES['file']['name'];

                   list(
$name,$ext) = explode(".",$file);

                   if ((
$ext != "mp3") && ($ext != "MP3") && ($ext != "wma") && ($ext != "WMA"))
                   
$error "לא ניתן להעלות את הקובץ&nbsp;".$name."&nbsp;הסיומת&nbsp;".$ext."&nbsp;אינה חוקית";

            if(
$_FILES['file']['size'] > (1048576*5)) $error .= "הינתן להעלות קובץ עד 5 מגה בלבד";

            if(!
preg_match("/^[a-zA-Z0-9 _\.]+$/"$file)) $error "שם הקובץ יכול להכיל אך ורק מספרים קו תחתון ואותיות לועזיות";  

            
$qfile mysql_query("SELECT * FROM `mysongs_files` WHERE `mid` = '{$this->user['id']}' ORDER BY time DESC LIMIT 1"); 
            if(
$file mysql_fetch_array($qfile)) {
            
$joined $file['time'];
                if(
$joined > ($time-60*60*3)) $error .= "בין כל פרסום קובץ , יש לחכות 3 שעות.";
            }

                if(
$_FILES['file']['error']!=0$error .= "אירעה שגיאה בהעלאת הקובץ.";

        if(
$error == "") {

                
$time time(); 
                
$prefix$time."-";

            if(
move_uploaded_file($_FILES['file']['tmp_name'],$dir.$prefix.$file)) {
            echo 
'הקובץ הועלה בהצלחה!';
            } else {
            echo 
'שגיאה בהעברת הקובץ, אנא נסה שנית';
            exit;
            }

                    
$mid $this->user['id'];
                    
$file $prefix.$file
                    
$name $_POST['name'];
                    
$janer $_POST['janer'];
                    
$words $_POST['words'];
                    
$notes $_POST['notes'];

            
mysql_query("INSERT INTO `mysongs_files` ( `id` , `mid` , `file` , `name` , `janer` , `words` , `notes` , `time` ) VALUES ('', '$mid', '$file', '$name', '$janer', '$words', '$notes', '$time')") or die("שגיאה, אנא נסה שנית.");
            
mysql_query("UPDATE mysongs_members SET works=works+1 WHERE id='$mid'");
            echo 
"הקובץ הועלה בהצלחה";

        } else echo 
$error

עכשיו שאני מעלה קבצים בגודל של מגה זה מעלה,
שאני מעלה קובץ של 4.70 מגה הוא לא מעלה, ומביא לי את השגיאה הבאה :
"אירעה שגיאה בהעלאת הקובץ."
יש למישהו מושג למה ?
משהו לאא טוב פה אני שובר תראש כבר כמה ימים על זה ..:S

meshuga 23-08-06 15:02

א.שמע, בקשר לשאלה שלך עוד לא הסתכלתי, אבל קודם כל, המציאת סיומת שלך ממש לא טובה..אם יש לי קובץ שקוראים לו asd.asd.mp3 ?...

ב. לא כדאי לך להתעסק עם העלאת שירים....יכולים להתחיל להעלות שם דברים עם זכויות יוצרים ומפעיל האתר הוא זה שיחטוף.

amirs_5 23-08-06 15:10

ציטוט:

שמע, בקשר לשאלה שלך עוד לא הסתכלתי, אבל קודם כל, המציאת סיומת שלך ממש לא טובה..אם יש לי קובץ שקוראים לו asd.asd.mp3 ?...
צודק,
אבל הוא יכתוב סיומת asd.mp3 לא טובה.
בכל מקרה אני יחפש דרך טובה עוד מאט מה שחשוב לי עכשיו שהוא יעלה לי את הקובץ.
ולא קובץ כן קובץ לא.

ציטוט:

ב. לא כדאי לך להתעסק עם העלאת שירים....יכולים להתחיל להעלות שם דברים עם זכויות יוצרים ומפעיל האתר הוא זה שיחטוף.
זאת בשביל יוצרים לא בשביל קבצים עם זכויות , אני יעשה שלא יוצגו שירים עד שמנהל לא מאשר אותם.

בקשר לבעיה שלי, אתה יודע אולי למה?
כי כמו שאמרתי , הוא מעלה לי קובץ של מגה וחצי , וקובץ אחר של 4.70 הוא לא מעלה...

meshuga 23-08-06 15:18

ציטוט:

נכתב במקור על ידי amirs_5
צודק,
אבל הוא יכתוב סיומת asd.mp3 לא טובה.
בכל מקרה אני יחפש דרך טובה עוד מאט מה שחשוב לי עכשיו שהוא יעלה לי את הקובץ.
ולא קובץ כן קובץ לא.


זאת בשביל יוצרים לא בשביל קבצים עם זכויות , אני יעשה שלא יוצגו שירים עד שמנהל לא מאשר אותם.

בקשר לבעיה שלי, אתה יודע אולי למה?
כי כמו שאמרתי , הוא מעלה לי קובץ של מגה וחצי , וקובץ אחר של 4.70 הוא לא מעלה...

לראשונה ביקשת קיבלת ;)
PHP קוד:

$ext=substr(strrchr($name"."), 1); 

לשניה תן לי לחפש...

RS324 23-08-06 15:25

אם תעשה PRINT_R($_POST)

אני כמעט בטוח שתמצא משהו שנקרא
MAXFILESIZE

amirs_5 23-08-06 15:31

ציטוט:

נכתב במקור על ידי RS324
אם תעשה PRINT_R($_POST)

אני כמעט בטוח שתמצא משהו שנקרא
MAXFILESIZE

קוד:

Array ( [add] => 1 [name] => gfdg [janer] => 1 [words] => [notes] => [submit] => הוסף יצירה )
שי תודה אני מכניס את זה עכשיו , ומקווה שתוכל לעזור לי שיעלה לי כל קובץ ולא חלק מהקבצים.

meshuga 23-08-06 15:33

תעשה print_r ל$_FILES
(כשאתה מעלה קובץ גדול)

amirs_5 23-08-06 15:59

שאני מעלה קובץ קטן :

קוד:

Array ( [file] => Array ( [name] => my humps.mp3 [type] => audio/mpeg [tmp_name] => /var/tmp/php5mu64A [error] => 0 [size] => 219191 ) )
שאני מעלה קובץ יוצר גדול :
קוד:

Array ( [file] => Array ( [name] => be.mp3 [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
יכול להיות שזה לא קשור לגודל אין לי מושג למה..

meshuga 23-08-06 16:03

ציטוט:

נכתב במקור על ידי amirs_5
שאני מעלה קובץ קטן :

קוד:

Array ( [file] => Array ( [name] => my humps.mp3 [type] => audio/mpeg [tmp_name] => /var/tmp/php5mu64A [error] => 0 [size] => 219191 ) )
שאני מעלה קובץ יוצר גדול :
קוד:

Array ( [file] => Array ( [name] => be.mp3 [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
יכול להיות שזה לא קשור לגודל אין לי מושג למה..

או קי, זה יכול להיות מ2 סיבות, או שזה השרת שלא מאפשר קבלה של קבצים בגודל כזה, או שזה המחשב/דפדפן שלך שעושה בעיה בהעלאת קובץ כזה כי יש ארור כפי שאתה רואה, תבקש מאנשים אחרים שיעלו כאלה קבצים.

amirs_5 23-08-06 16:27

הנה אני עכשיו אומר לחבר שלי לנסות ובערב אני ינסה בשרת אחר גם,
תודה אחי:)

עריכה:
טוב אז ככה, ניסיתי בדפדפן IE .
ניסיתי בדפדפן FF.

ניסיתי בשרת שלי .
ניסיתי בשרת של חבר.

וכלום...:(
עדיין לא מעלה לי , רק קבצים קטנים ,
שי אתה רואה איזה שהיא בעיה בקוד !?
או משהו שעוצר את העלאה ..?!

בניה 23-08-06 20:16

ציטוט:

נכתב במקור על ידי amirs_5
* אי אפשר לערוך.

טוב אז ככה, ניסיתי בדפדפן IE .
ניסיתי בדפדפן FF.

ניסיתי בשרת שלי .
ניסיתי בשרת של חבר.

וכלום...:(
עדיין לא מעלה לי , רק קבצים קטנים ,
שי אתה רואה איזה שהיא בעיה בקוד !?
או משהו שעוצר את העלאה ..?!

קוד:

Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.
ב"ה


הקובץ גדול מידי...

amirs_5 23-08-06 20:17

לא הבנתי בניה אתה יכול להסביר לי ?!
הקובץ הוא רק 4 מגה .
איך אני עושה שיהיה יותר מ 4 מגה ?

בניה 23-08-06 20:22

ב"ה


בקובץ הגדרות של הPHP כתוב מה יהיה הגודל קובץ המקסימלי.
וכדי לשנות את זה אתה צריך גישה לקובץ הגדרות.
אולי אפשר לשנות עם htaccess.

amirs_5 23-08-06 20:25

איפה הקובץ הזה נמצא ?
יש לי גישה אליו ?!
(אתה בטוח שזאת הבעיה ולא משהו אחר?)
ויש לי עוד שאלה איך ידדעת ?
"Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini."
שזאת השגיאה ?

Elad-A 23-08-06 20:28

לא זה רק אומר שהגודל המקסימלי שניתן להעלאה הוא רשום בקובץ php.ini

amirs_5 23-08-06 20:32

ציטוט:

נכתב במקור על ידי Elad-A
לא זה רק אומר שהגודל המקסימלי שניתן להעלאה הוא רשום בקובץ php.ini

כן אבל מאיפה הוא ידע שזאתי השגיאה + נכון שרשום value 1 זה בגלל שה error =1 ?

RS324 23-08-06 21:27

לשינוי הגודל המקסימלי תשתמש בפשוטות ב INISET
אבל קח בחשבון שכשאתה מעלה קבצים גדולים המשתמש יכול להתעצבן וללחוץ עוד פעם על שלח ואז זה מתחיל את זה מההתחלה...

בניה 23-08-06 21:35

ציטוט:

נכתב במקור על ידי amirs_5
כן אבל מאיפה הוא ידע שזאתי השגיאה + נכון שרשום value 1 זה בגלל שה error =1 ?

ב"ה

http://www.php.net/manual/en/feature...oad.errors.php
הקישור לדף נמצא פה:
http://www.php.net/manual/en/features.file-upload.php

amirs_5 23-08-06 21:45

ציטוט:

נכתב במקור על ידי בניה

תודה:)

עוד לא עובד לי , אני מנסה עכשיו לערוך INI
ביררתי ואצלי זה 2 מגה .
אני מנסה דרך לערוך עכשיו עם INISET


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

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