کمپيوټرد دوتنې ډولونه

PHP: د سرور د دوتنې پورته کول

PHP له لارې د فايلونو دمطلب - یو ډیر په زړه پورې په صورت کې، چې بايد ډېر په احتياط سره مراجعه شي. پر انټرنيټ تاسو کولای شي د دوتنې د پورته کولو د پلي کولو ګڼ مثالونه پیدا، خو د هغوی د ټولو نه ښه دي او د خونديتوب مقرراتو سره وګوري.

دا کارونه باید چې پایلې ته راولي، که څه هم چې دا يو اوږد وخت ته اړتیا لري. که تاسو د کوډ په یوه واټن څخه ووځي، نو ستاسو ټول سرور شي استعمالېږي.

خونديتوب

د PHP دوتنې پورته ته پالنګر دا خورا په اسانۍ سره ترسره. کوډ دی ډیر لنډ او ساده ده. يوازې د يو څو کرښو. که څه هم، د دغه ميتود خطرناک دی. ډېر وخت او د کوډ د خونديتوب لرې کرښو.

د خطر دا دی چې، که تاسو د پلټنو نه، د هر بريد کولای شي د خپلو سکرېپټونو د خپل سرور د پورته. په دې صورت کې دا به بشپړ لاسرسی ولري. هغه کولای شي چې زړه يې غواړي کوئ:

  • د ډیټابیس د ړنګولو؛
  • دوتنې ځايونو د ړنګولو؛
  • بدلون دوتنې ځايونو؛
  • ستاسو ویب پاڼه ستاسو د زیږدیز کال اضافه؛
  • ويروسونو دانلود؛
  • په خپلو ځايونو ټول کارنان د رهبرۍ؛
  • او ډیر نور شیان چې ته راغلي بريد متوجه.

تاسو باید تل د وګورئ چې د کارن لپاره يو د فایل هڅه کوي. د بېلګې په توګه، که تاسو انځورونه يوازې پورته، دا ضروري ته تایید کړي چې دوتنه د يو انځور په دقیقه ده. که نه، نو تاسو به څه دانلود.

څومره چې د تصديق د پلي کولو، دا به وښودل شي، سره د مستقیم ازموینې الخط دوتنې پورته کړای.

یو PHP فارم جوړول

د دوتنې پورته کول فورمه ډېره ساده ده. د کتنه د تڼی او upload تڼۍ ورک.

تشريح څنګه جوړ فورمې به نه، ځکه چې دا اسانه ده. نور لارښوونه په غاړه واخلي چې تاسو مخکې لري د HTML د اساسي مفاهيمو (که تاسو ته به د معلوماتو د کښته کولو پر PHP په اړه په لټه کې نه شي).

خو ياد ولرئ چې په فورمه کې د معلوماتو د تاسو باید د اینکټایپ د خاصه اضافه کړي.

که نه نو، د دوتنې سمبالوونکی ارقام به خپرېږي نه شي.

دا بايد څه ډول کار کوي؟

کله چې تاسو په وسيله کتنه د تڼی په کلیک تاسو بايد د يوه بکس چېرته څخه وغوښتل چې د یوې دوتنې د غوره وګورئ.

وروسته له هغه چې دا به اړتيا وي چې د يوه لاره چې د دوتنه کې پروت دی ترلاسه کړي.

که په لاره کې نه ښکاري، د عمل بیا ترسره کړي.

کولوسره په دانلود فایل سمبالوونکی وروسته کولای شي هر ډول معلومات ورکړي.

د مثال په توګه، تاسو کولی شئ د کرښې چې څرګندوي چې د دوتنه ده "، نو او داسې" د نوم په بریالیتوب سره د "داسې او داسې" پوښۍ ته پورته شوي دي ولیکئ. البته، د دوتنې نوم به تل د مختلفو ورکړل شي.

په خاصه توګه، د دې معلوماتو د دی لپاره کارول وتۍ کوډ. نو دا ممکنه ده چی تایید کړي چې د معلوماتو خپرېږي او ليکي په مطلوبه Directory واقع کيږي. چې د ده، آن چې د دوتنې نوم نه څرګنده ده. څرنګه چې دا اضافي معلومات چې د کارونکي دې ته اړتيا نه.

دا د محصول جوړوي احساس په نوم يوازې که د کارونکي څو دوتنو کښته کوونې. دا ډول دی په صورت کې، په پام کې لږ نور. راځئ مخکې د خپل ځان له لاسه ورکوي.

تعدیلات

په PHP دوتنه په سرور upload ځینو امستنې، چې بايد په php.ini دوتنې ترسره شي ته اړتیا لري. دا دوتنه د لرونکی د امستنې ډېر. هغوی ټول موږ ته اړتيا نه لري. موږ په درې کرښې مينه: file_uploads، upload_tmp_dir او upload_max_filesize.

یاد ولرئ چې دا سموونې به په سرور ستاسو د ځايونو د ټولو اغيزه، نه د هر یو یوازې. له همدې امله، د اعظمي اندازه پر بنسټ دا حقیقت چې تاسو به کاروونکو ته د پورته کولو جوړ. دا هم لوی جوړ نه سپارښت.

کله چې تاسو په دغو پارامترونو د ارزښتونو بدلون، تاسو باید د سرور بيا پېل کړئ. که نه نو د سموونې به اغېز ونه کړي، ځکه چې د سرور بار په وخت کې ولولي.

تاسې کولای شی چې په Console دې خوا SSH له لارې د سرور سره نښلوي نه. د قوماندې د خدمت httpd Restart په ساده ته ننوځي، او بیا د سموونې به اغېز وکړي.

بله طريقه - ISP-کمېسيون له لارې او یا د بیلونو په کمېسيون برابروونکي له لارې د بياپيلات.

ترتیب دوتنې

په PHP د دوتنې پورته کول د ترتیب $ دوتنو له خوا ترسره. دا د دوتنې چې موږ دانلود په اړه ټول معلومات موجود دي.

چې وګوري چې په قومي، چې لاندې په دوتنه سمبالوونکی ليکل کافي څه معلومات لري.

هر دوتنې وټاکئ او کلیک "پورته کول." د سمبالوونکی مخ به د معلومات چې په $ دوتنو زيرمه د ښودلو. د متحول سره د مرکز په بشپړه توګه لیکونه لیکل. PHP - د ژبې-حساس دي.

لکه څنګه چې تاسو کولای شي وګورئ، په دې ترتیب یو د برخو کې ډېر. د هغوی ټول موږ ته مهم دي. لومړۍ برخه کې په شکل چې دا ستا په کمپیوتر کارول چې د دوتنې نوم لري.

دغه ډول ستن دوتنې ډول مشخص شو. Tmp_name ډګر ته د لنډمهاله دوتنه نوم سره متناسب وي. د متن په پای کې وروسته به وړنګول شي.

د ګمراهۍ ډګر لرونکی د یوه تېروتنه کوډ. دا وه لږ نور. کچه - په بايټونو په اندازه.

تېروتنې

د PHP د دوتنې پورته کول له لارې ترسره کیږي تل یوه تېروتنه کوډ له خوا ملتيا کوي. An error پیغام په "تېروتنه" ته ننوتل. د پرده انځور غلطي صفر ده.

د ټولو غلطيو د ارزښت په پام کې ونیسئ:

دا وايي چې پورته د پاراميټر چې کولای شي په معمول د HTML کې مشخص شي په اړه وه.

دلته یوه نمونه فورمه د دوتنې، چې د پورته دوتنې اندازه يو حد ښيي دانلود.

PHP: د دوتنې پورته متن

لکه څنګه چې د ټولو ترسره په عمل کې؟ په PHP د دوتنې پورته واقع کاپي قومانده. که تاسو په څه ډول د یو فایل د پوښتنې په مينه، د پوښتنې ځواب دا ساده copy-، چې دوه پارامترونو کاروي - سرچينه دوتنې او د موخې دوتنه.

خو، لکه څنګه چې پورته، نو کولای شي نه د خونديتوب لاملونه محدود وي. د مثال په توګه، وګورئ بهر د دوتنې څه ډول موږ ته انتقالوي، چې تاسو کولای شي په برخه کې ډول په ترتیب $ دوتنو وکاروي. لومړی، راځئ سره د تفتیش چلند، او بیا د بشپړ متن په حرکت

راځئ چې وايي تاسو ته کاروونکو ته سره یوازې د GIF، JPEG او یا PNG يوه د حل يوه عکس پورته اجازه غواړي. ښيي چې دا کولای شي د دې په شان وي.

که ($ _ دوتنې [ 'file_upload'] [ 'ډول']! = "image / gif") {
بريدمنان "بښنه غواړو، موږ د مالتړ هله GIF-دوتنې د کښته"؛
وتل؛
}

که تاسو غواړی چې د ټولو 3 ډوله کښتۍ په ساده توګه د انځور بل ډول اضافي حالت اضافه کړي.

کاپي کول ترسره کيږي لکه دا: کاپي (انځور 1، انځور 2).

زموږ په صورت کې، کله چې کار ده چې د سرور د ولايتي شورا څخه د کښته کولو، تاسو کولی شئ نو

کاپي ($ _ دوتنې [ 'file_upload'] [ "tmp_name"]، "1.jpg")

دا ده چې، د دوتنې سره د نوم 1.jpg کاپي شي. دا په بشپړه توګه سمه نه ده. په دې صورت کې دا یوازې یوه بیلګه ده. د دوتنې نوم تل ضروري مختلفو مشخص، او د مشخص د غځول، تکيه لري چې دوتنه ده.

دا معلومول چې د تمدید شي مختلفو لارو. دا د ټولو پر erudition د پراختیا پورې اړه لري. د (د ثانيو tenths توپير) د تمدید د معلومولو لپاره د چټکو لارو څخه يو - دا د بل کوډ دی.

$ Path_info = pathinfo ($ _ دوتنې [ 'photo1'] [ "نوم"])؛

$ Ext = $ path_info [ 'تمدید']؛

د متحول $ د ext موږ به د مطلوبه تمدید ذخیره کړی. د دوتنې نوم کولای شي په تصادفي کارولو md5 جوړ شي. که تاسو د پلان د دوتنې ډېر دانلود، دا غوره ده چې د مختلفو د پوښيو ته ولېږي. نو دا به ډیر مناسب وی. په ځانګړې توګه، که تاسو غواړئ چې حافظه سپينه کړۍ.

د کوډ به په لاندې ډول وي دانلود.

/// سره عکس

که ($ دوتنو [ 'photo1'] [ 'tmp_name'] == په صادرېدو سره)

{

انګازې ( "

د نامعلومې دوتنې.

Back ... پيلې ")؛

وتل؛

}

///. تاسو په سرور د هرې پروژې لپاره ووايه اجازه لوی دوتنې (ویډیو) د پورته کولو، خو یوازې انځورونه شته، او کاروونکو ته اړتيا محدود

که (($ دوتنو [ "photo1"] [ "اندازه"]> 1024 * 1024 * 2)

{

؟>

د حد اکثر اجازه اندازه 2 MB

Back ... پيلې

وتل؛

}

// د پوښيو رامنځته

// د اوسني میاشت یو فولډر جوړ کړي

که (! file_exists ( "img /" نېټه. ( "M")))

{

mkdir ( "img /" نېټه ( "M").)؛

}

// د اوسني ورځ یو فولډر جوړ کړي

که (! file_exists ( "img /". نېټې ( "M"). "/". نېټې ( "D")))

{

mkdir ( "img /" نېټه ( "M") "/" نېټه ( "D") ...)؛

}

/// دوتنې غځول

$ Path_info = pathinfo ($ _ دوتنې [ 'photo1'] [ "نوم"])؛

$ Ext = $ path_info [ 'تمدید']؛

/// د دوتنې نوم توليد

$ Id = md5 (نېټه ( "YMd"))؛

که (کاپي ($ _ دوتنې [ 'photo1'] [ "tmp_name"]، "img /". نېټې ( "M"). "/". نېټې ( "D"). "/". $ ID. $ ext) )

{

انګازې (د "دوتنه برياليتوب سره پورته شوه.")؛

}

/// د هر ډول راتلونکو عمل (په ډیټابیس کې د ننوتلو، او داسې N..)

}

څو دوتنې

څو دوتنې (د پي ايچ پي) د پورته خوا د په فورمه کې اضافي برخو وسايل واقع دی.

دا میتود ډیر ښه نه ده، لکه څنګه چې د فايلونو د وورد د شمېر محدودوي. سربیره پردې، دا د پروګرامونو بد بڼه ګڼل کيږي. کوښښ وکړئ ترڅو چي هر څه خوځنده وکړي.

د غوره انتخاب - دا د يو واحد تڼۍ په کېکاږلو د په يو ځل د دوتنې یو زیات شمیر یو انتخاب دی.

د دې په څېر د دې د کود يوه بڼه رامنځته کړي.

<فورمه طريقه = "Post" عمل = "سره تړنې لري چې سمبالوونکی دوتنه" نوم = "upload_form" اینکټایپ = "multipart / فورمه-معلومات">

<ننوتۍ ټولګي = "form_upload" ډول = د "دوتنه:" نوم = "file1 []" څو ارزښت = "کتنه">

<ننوتۍ ټولګي = "form_upload" ډول = "سپارل" نوم = "upldFile" ارزښت = "Add" />

په یاد ولرئ چې د کلمې په څو سربېره، او د نوم په توګه [] پیشه ورکړل. په دې صورت کې، $ دوتنو لړۍ به لږ څه توپير ولري. تاسو به د ترتیب یو ترتیب یې ترلاسه کړي.

ازمويني ته کولای شي بیا د var_dump ($ _ دوتنې) وکاروي؛

ستاسو د ټولو دوتنو به په دې شان د ترتیب پر ځای شي:

  1. $ دوتنو [ "file1"] [ "نوم"] [0]
  2. $ دوتنو [ "file1"] [ "نوم"] [1]
  3. او داسې نور.

په لېنديو په ترتیب د دوتنې شمیر لیکل. شمېرنه له صفر څخه. موږ د هغوی په ورته توګه د درملنې لپاره، يوازې د دوران پوښتنه له خوا د شاخص زياته کړه [i $] په پای کې د پورته تشریح کوډ تماس او.

0 $ زه =؛

په داسې حال کې ($ دوتنو [ "file1"] [ "نوم"] [$ i] <> '')

{

/// پورتني کوډ پېسټ

}

په دې ډول، تاسو به د کوډ غیر ضروري تکرار پرته په يوه دوره د پالنګر PHP د دوتنې پورته کول له لارې پېښ شي، معمولا په صورت کې که تاسو د بڼې سره د دوتنې Static شمېره (وروستی انځور) وکاروي.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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