קאָמפּיוטערסטעקע טייפּס

PHP: טעקע ופּלאָאַד צו די סערווער

דאַונלאָודינג טעקעס דורך PHP - אַ זייער טשיקאַווע פאַל, צו וואָס מוזן זיין אַפּראָוטשט זייער Carefully. אויף דער אינטערנעץ איר קענען געפינען סך יגזאַמפּאַלז פון די ימפּלאַמענטיישאַן פון טעקע ופּלאָאַד, אָבער ניט אַלע פון זיי זענען גוט און טרעפן זיכערקייַט רעגיאַליישאַנז.

אַזאַ זאכן דאַרפֿן צו ברענגען צו אַ מסקנא, אַפֿילו אויב עס נעמט אַ לאַנג צייַט. אויב איר לאָזן אַ ריס אין דער קאָד, דעמאָלט דיין גאנצע סערווער קענען זיין קאַמפּראַמייזד.

זיכערקייַט

מיט PHP טעקע ופּלאָאַד צו די סערווער איז געטראגן אויס גאַנץ לייכט. די קאָד איז זייער קורץ און פּשוט. נאָר אַ פּאָר פון שורות. אָבער, דעם אופֿן איז געפערלעך. פיל מער צייַט און שורות פון קאָד אַוועק צו זיכערקייַט.

די געפאַר איז אַז, אויב איר טאָן ניט טאָן ינספּעקשאַנז, קיין אַטאַקער קען צופֿעליקער זייער סקריפּס אויף דיין סערווער. אין דעם פאַל, עס וועט האָבן פול צוטריט. ער קענען טאָן וועלכער ער וויל:

  • ויסמעקן די דייטאַבייס;
  • ויסמעקן טעקעס זייטלעך,
  • מאָדיפיצירן טעקעס זייטלעך,
  • שטעלן אייער אַד צו דיין וועבזייַטל;
  • אָפּלאָדירן ווירוסעס;
  • רידערעקט אַלע ניצערס אויף זייער זייטלעך;
  • און פילע אנדערע זאכן וואָס קומען צו מיינונג אַטאַקער.

איר זאָל שטענדיק טשעק אַז אַטטעמפּץ צו אָפּלאָדירן אַ טעקע פֿאַר די באַניצער. לעמאָשל, אויב איר צופֿעליקער בילדער בלויז, עס איז נייטיק צו באַשטעטיקן אַז די טעקע איז אַ בילד אַקיעראַטלי. אַנדערש, איר וועט אָפּלאָדירן עפּעס.

פּונקט ווי צו ינסטרומענט verification, עס וועט זיין געוויזן, מיט די דירעקט דורכקוק שריפט צו צופֿעליקער טעקעס.

קרעאַטינג אַ PHP פאָרעם

טעקע ופּלאָאַד פאָרעם איז זייער פּשוט. פעלנדיק די בלעטער קנעפּל און ופּלאָאַד קנעפּלעך.

באשרייבט ווי צו שאַפֿן Forms וועט ניט, ווייַל עס ס 'גרינג. ווייַטער ינסטראַקשאַנז יבערנעמען אַז איר שוין האָבן די גרונט קאַנסעפּס פון די HTML (אַנדערש איר וואָלט ניט זיין איר זוכט פֿאַר אינפֿאָרמאַציע וועגן דאַונלאָודינג אויף PHP).

אבער טאָן אַז די דאַטן אין די פאָרעם איר דאַרפֿן צו לייגן די ענקטיפּע אַטריביוט.

אַנדערש, דאַטן אויף טעקע האַנדלער וועט ניט זיין טראַנסמיטטעד.

ווי עס זאָל אַרבעט?

ווען איר גיט אויף די בלעטער קנעפּל איר זאָל זען אַ קעסטל ווו געבעטן צו קלייַבן אַ טעקע.

נאָך וואָס עס וועט ווערן צו באַקומען אַ דרך ווו דער טעקע איז ליגן.

אויב די דרך טוט ניט דערשייַנען, דורכפירן די אַקציע ווידער.

נאָך געבן אַ קליק אויף די אָפּלאָדירן טעקע האַנדלער קענען געבן קיין אינפֿאָרמאַציע.

למשל, איר קענען שרייַבן די שורה אַז שטאַטן אַז דער טעקע איז "אַזוי און אַזוי" דער נאָמען האט שוין הצלחה ופּלאָאַדעד צו די "אַזאַ און אַזאַ" טעקע. פון קורס, דער טעקע נאָמען וועט ווערן געגעבן שטענדיק אַנדערש.

טיפּיקאַללי, דעם אינפֿאָרמאַציע איז געניצט צו דיבאַג קאָד. אזוי עס איז מעגלעך צו באַשטעטיקן אַז די דאַטן איז טראַנסמיטטעד און שרייבט פאַלן אין די געבעטן Directory. אַז איז, אַפֿילו דער טעקע נאָמען איז נישט אנגעוויזן. זינט דעם עקסטרע אינפֿאָרמאַציע אַז דער באַניצער טוט ניט דאַרפֿן.

עס מאכט חוש צו רעזולטאַט די נאָמען נאָר אויב דער באַניצער דאַונלאָודז קייפל טעקעס. אַזאַ איז דער פאַל, באַטראַכטן אַ ביסל ווייַטער. לאָזן 'ס נישט באַקומען פאָרויס פון זיך.

אַדזשאַסטמאַנט

אין PHP טעקע צופֿעליקער צו די סערווירער ריקווייערז זיכער סעטטינגס, וואָס זאָל ווערן געטאן אין די פפּ.יני טעקע. דעם טעקע כּולל אַ פּלאַץ פון סעטטינגס. זיי אַלע מיר טאָן ניט דאַרפֿן. מיר זענען אינטערעסירט אין דרייַ שורות: פילע_ופּלאָאַדס, ופּלאָאַד_טמפּ_דיר און ופּלאָאַד_מאַקס_פילעסיזע.

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

אַמאָל איר טוישן די וואַלועס אין די פּאַראַמעטערס, איר דאַרפֿן צו ריסטאַרט די סערווער. אַנדערש די סעטטינגס וועט ניט נעמען ווירקונג, ווי זיי לייענען אין די צייַט פון די סערווירער מאַסע.

איר קענען טאָן דעם אין די קאַנסאָול דורך קאַנעקטינג דורך סש צו די סערווער. סימפּלי אַרייַן די באַפֿעלן דינסט הטטפּד ריסטאַרט, און דעריבער די סעטטינגס וועט נעמען ווירקונג.

אן אנדער אופֿן - אַ ריסטאַרט דורך יספּ-טאַפליע אָדער דורך בילינג טאַפליע שפּייַזער.

מענגע טעקע

אין PHP טעקע ופּלאָאַד איז געשען דורך די מענגע $ _פילעס. עס כּולל אַלע די אינפֿאָרמאַציע וועגן די טעקעס אַז מיר אָפּלאָדירן.

צו זען וואָס אינפֿאָרמאַציע איז קאַנטיינד אין די מענגע, גענוג צו שרייַבן אין דער טעקע האַנדלער ווייַטערדיק.

סעלעקט קיין טעקע און גיט "צופֿעליקער." אויף די האַנדלער בלאַט וועט אַרויסווייַזן די אינפֿאָרמאַציע וואָס איז סטאָרד אין $ _פילעס. די בייַטעוודיק איז געשריבן לעגאַמרע מיט הויפּטשטאָט אותיות. PHP - אַ שפּראַך-שפּירעוודיק.

ווי איר קענען זען, אין דעם מענגע האט אַ פּלאַץ פון fields. אַלע פון זיי זענען וויכטיק צו אונדז. דער ערשטער פעלד כּולל דער טעקע נאָמען אין די פאָרעם אין וואָס עס איז געניצט אויף דיין קאָמפּיוטער.

דער טיפּ זייַל ספּעסיפיעד טעקע טיפּ. טמפּ_נאַמע פעלד קאָראַספּאַנדז צו די נאָמען פון די צייַטווייַליק טעקע. נאָך דעם סוף פון די שריפט וועט ווערן אויסגעמעקט.

דער טעות פעלד כּולל אַ טעות קאָד. דאס איז געווען אַ ביסל ווייַטער. גרייס - די גרייס אין ביטעס.

ערראָרס

געטראגן אויס דורך די PHP טעקע ופּלאָאַד איז שטענדיק באגלייט דורך אַ טעות קאָד. אַ טעות אָנזאָג אריין אין די "טעות". די סקרעענשאָט טעות איז נול.

באַטראַכטן די ווערט פון אַלע די ערראָרס:

עס איז געווען האט געזאגט אויבן וועגן דעם פּאַראַמעטער אַז קענען זיין ספּעסיפיעד אין די געוויינטלעך HTML.

דאָ איז אַ מוסטער פאָרעם צו אָפּלאָדירן די טעקע, וואָס ינדיקייץ אַ שיעור פון די סומע פון די ופּלאָאַדעד טעקע.

PHP: טעקע ופּלאָאַד שריפט

ווי אַלע געטראגן אויס אין פיר? אין PHP טעקע ופּלאָאַד אַקערז קאָפּיע באַפֿעל. אויב איר זענט אינטערעסירט אין די קשיא פון ווי צו אָפּלאָדירן אַ טעקע, די ענטפער איז פּשוט קאָפּי-, וואָס ניצט צוויי פּאַראַמעטערס - די מקור טעקע און די דעסטיניישאַן טעקע.

אבער, ווי סטייטיד אויבן, עס קענען ניט זיין באגרענעצט פֿאַר זיכערקייַט סיבות. לעמאָשל, טשעק אויס וואָס מין פון טעקע מיר שיף, איר קענען נוצן די פעלד טיפּ אין די מענגע $ _פילעס. ערשטער, לאָזן ס האַנדלען מיט דורכקוק, און דאַן מאַך אויף צו די פול שריפט

זאל ס זאָגן איר ווילן צו לאָזן ניצערס צו צופֿעליקער אַ Photo מיט אַ האַכלאָטע פון בלויז גיף, דזשפּעג אָדער פּנג. אָנווייַזן עס קענען זיין ווי דעם.

אויב ($ _ טעקעס [ 'פילע_ופּלאָאַד'] [ 'טיפּ']! = "בילד / גיף") {
ווידערקאָל "אנטשולדיגט, מיר שטיצן בלויז דאַונלאָודינג גיף-טעקעס";
אַרויסגאַנג;
}

אויב איר ווילן צו שיף אַלע 3 טייפּס, נאָר לייגן אַן נאָך צושטאַנד צו די אנדערע טיפּ פון בילד.

קאָפּיינג איז געשען ווי דעם: קאָפּיע (בילד 1, בילד 2).

אין אונדזער פאַל, ווען די אַרבעט איז דאַונלאָודינג פון די פּיסי צו די סערווער, איר קענען טאָן אַזוי

קאָפּיע ($ _ טעקעס [ 'פילע_ופּלאָאַד'] [ "טמפּ_נאַמע"], "1.דזשפּג")

אַז איז, די טעקע וועט זיין קאַפּיד מיט די נאָמען 1.דזשפּג. דאס איז ניט אין גאנצן ריכטיק. אין דעם פאַל, עס איז בלויז אַ משל. דער טעקע נאָמען איז שטענדיק נייטיק צו ספּעציפיצירן אַנדערש, און ספּעציפיצירן די געשפּרייט, דיפּענדינג אויף די טעקע.

באַשטימען די פאַרלענגערונג קענען זיין אַנדערש וועגן. עס אַלע דעפּענדס אויף די דעוועלאָפּער פון ערודיטיאָן. איינער פון די fastest וועגן צו (אַ חילוק פון טענטס פון סעקונדעס) באַשטימען די פאַרלענגערונג - דעם איז דער ווייַטער קאָד.

$ פּאַטה_ינפאָ = פּאַטהינפאָ ($ _ טעקעס [ 'פאָטאָ1'] [ "נאָמען"]);

$ עקסט = $ פּאַטה_ינפאָ [ 'פאַרלענגערונג'];

די בייַטעוודיק $ די עקסט מיר וועט קראָם די געבעטן פאַרלענגערונג. א טעקע נאָמען קענען זיין שטעלן בייַ Random ניצן מד 5. אויב איר פּלאַן צו אָפּלאָדירן אַ פּלאַץ פון טעקעס, עס איז בעסער צו שיף זיי צו פאַרשידענע folders. אַזוי עס וועט זיין מער באַקוועם. אין באַזונדער, אויב איר ווילן צו רייניקונג.

צו אָפּלאָדירן די קאָד וועט זיין ווי גייט.

/// מיט Photo

אויב ($ _פילעס [ 'פאָטאָ1'] [ 'טמפּ_נאַמע'] == נאַל)

{

ווידערקאָל ( "<פּ> <שטאַרק> ומבאַקאַנט טעקע. <פּ> צוריק ... ");

אַרויסגאַנג;

}

///. זאָגן איר פֿאַר קיין פּרויעקט אויף די סערווער איז ערלויבט צו מאַסע גרויס טעקעס (ווידעא), אָבער עס זענען בלויז בילדער, און ניצערס דאַרפֿן צו באַגרענעצן

אויב (($ _פילעס [ "פאָטאָ1"] [ "גרייס"]> 1024 * 1024 * 2)

{

?>

די מאַקסימום ערלויבט גרייס פון <שטאַרק> 2 מעגאבייטן

<פּ> צוריק ...

אַרויסגאַנג;

}

// שאַפֿן Folders

// שאַפֿן אַ טעקע פון דעם קראַנט חודש

אויב (! פילע_עקסיסץ ( "ימג /". דאַטע ( "ב")))

{

מקדיר ( "ימג /" טאָג ( "ב").);

}

// שאַפֿן אַ טעקע פון די קראַנט טאָג

אויב (! פילע_עקסיסץ ( "ימג /". דאַטע ( "ב"). "/". דאַטע ( "די")))

{

מקדיר ( "ימג /" טאָג ( "ב") "/" טאָג ( "די") ...);

}

/// טעקע געשפּרייט

$ פּאַטה_ינפאָ = פּאַטהינפאָ ($ _ טעקעס [ 'פאָטאָ1'] [ "נאָמען"]);

$ עקסט = $ פּאַטה_ינפאָ [ 'פאַרלענגערונג'];

/// דזשענערייט פילענאַמע

$ Id = מד 5 (דאַטע ( "ימד"));

אויב (קאָפּיע ($ _ טעקעס [ 'פאָטאָ1'] [ "טמפּ_נאַמע"], "ימג /". דאַטע ( "ב"). "/". דאַטע ( "די"). "/". $ שייַן. $ עקסט) )

{

ווידערקאָל ( "טעקע הצלחה ופּלאָאַדעד");

}

/// קיין ווייַטער קאַמף (פּאָזיציע אין די דייטאַבייס, און אַזוי אויף. ען)

}

קייפל טעקעס

ופּלאָאַדינג קייפל טעקעס (PHP) אַקערז דורך מיטל פון נאָך fields אין די פאָרעם.

דעם אופֿן איז נישט זייער גוט, ווי עס לימאַץ די נומער פון טעקעס צו אָפּלאָדירן. דערצו, עס איז געהאלטן שלעכט פאָרעם אין פּראָגראַממינג. פּרובירן צו טאָן אַלץ דינאַמיש.

די ידעאַל אָפּציע - עס איז אַ ברירה פון אַ גרויס נומער פון טעקעס אין אַמאָל דורך דרינגלעך אַ איין קנעפּל.

צו טאָן דאָס, מאַכן אַ פאָרעם ווי דעם קאָד.

<ינפּוט קלאַס = "פאָרמ_ופּלאָאַד" טיפּ = "טעקע" נאָמען = "פילע1 []" קייפל ווערט = "איבערבליק">

<ינפּוט קלאַס = "פאָרמ_ופּלאָאַד" טיפּ = "פאָרלייגן" נאָמען = "ופּלדפילע" ווערט = "לייג צו" />

באַמערקונג אַז די קייפל דערצו פון די וואָרט, און דער נאָמען איז געגעבן ווי אַ מענגע []. אין דעם פאַל, $ _פילעס מענגע וועט זיין אַ ביסל אַנדערש. איר וועט באַקומען אַ מענגע פון די מענגע.

צו פּרובירן קענען ווידער נוצן די וואַר_דומפּ ($ _ טעקעס);

אַלע אייער טעקעס וועט זיין געשטעלט אין די מענגע ווי דעם:

  1. $ _פילעס [ "פילע1"] [ "נאָמען"] [0]
  2. $ _פילעס [ "פילע1"] [ "נאָמען"] [1]
  3. און אַזוי אויף.

אין קלאַמערן איז געשריבן דער טעקע נומער אין די מענגע. קאַונטינג פון נול. מיר מייַכל זיי אין די זעלבע וועג, נאָר פרעגן די ציקל און דורך קאַנטאַקטינג די אויבן-דיסקרייבד קאָד אין די סוף פון די אינדעקס אַדינג [: $ איך].

$ איך = 0;

בשעת ($ _פילעס [ "פילע1"] [ "נאָמען"] [$ איך] <> '')

{

/// פּאַפּ די אויבן קאָד

}

אזוי, איר וועט האָבן צו פּאַסירן דורך אַ PHP טעקע ופּלאָאַד צו די סערווער אין איין ציקל אָן ומנייטיק יבערכאַזערונג פון דעם קאָד, ווי איז יוזשאַוואַלי די פאַל אויב איר נוצן די ווערסיע מיט אַ סטאַטיק נומער פון טעקעס (לעצטע Photo).

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 yi.birmiss.com. Theme powered by WordPress.