કોમ્પ્યુટર્સફાઇલ પ્રકારો

PHP: સર્વર પર ફાઇલ અપલોડ

PHP મારફતે ફાઇલો ડાઉનલોડ - એક ખૂબ જ રસપ્રદ કિસ્સો છે, જે ખૂબ જ કાળજીપૂર્વક સંપર્ક હોવું જ જોઈએ છે. ઇન્ટરનેટ પર તમે ફાઇલ અપલોડ અમલીકરણ અસંખ્ય ઉદાહરણો શોધી શકો છો, પરંતુ તેમને બધા સારા છે અને સલામતી નિયમો મળે છે.

આ પ્રકારની વસ્તુઓ નિષ્કર્ષ લાવવા માટે, પણ જો તે લાંબા સમય સુધી લઈ જાય છે જરૂર છે. તમે કોડ એક તફાવત છોડો છો, તો પછી તમારી સમગ્ર સર્વર સાથે ચેડા થઈ શકે છે.

સલામતી

PHP, સાથે ફાઇલ અપલોડ કરવા માટે સર્વર તદ્દન સરળતાથી હાથ ધરવામાં આવે છે. કોડ ખૂબ ટૂંકા અને સરળ છે. જસ્ટ રેખાઓ એક દંપતિ. જોકે, આ પદ્ધતિ ખતરનાક છે. ઘણો વધારે સમય અને સલામતીને દૂર કોડ રેખાઓ.

ભય છે કે, જો તમે તપાસ નથી, કોઈપણ હુમલાખોર તમારા સર્વર પર તેમના સ્ક્રિપ્ટો અપલોડ શકે છે. આ કિસ્સામાં, તે સંપૂર્ણ ઍક્સેસ હશે. તેમણે શું કરી શકો છો ગમે તે માંગે છે:

  • ડેટાબેઝ કાઢી નાખવું;
  • ફાઇલો સાઇટ્સને કાઢી;
  • ફાઇલો સાઇટ્સ સુધારવા;
  • તમારી વેબસાઇટ પર તમારી જાહેરાત ઉમેરો;
  • ડાઉનલોડ વાયરસ;
  • તેમની સાઇટ્સ પર બધા વપરાશકર્તાઓ પુનઃદિશામાન;
  • અને અન્ય ઘણા વસ્તુઓ છે કે જે આવે છે હુમલાખોર દિમાગમાં.

તમે હંમેશા તપાસ કરવી જોઈએ કે વપરાશકર્તા માટે ફાઇલ ડાઉનલોડ કરે છે. ઉદાહરણ માટે, તમે જ છબીઓ અપલોડ કરશો, તો તે જરૂરી નહીં તે ચકાસવા માટે ફાઇલ છબી ચોક્કસ છે. નહિંતર, તમે કંઈપણ ડાઉનલોડ કરશે.

બરાબર કેવી રીતે ચકાસણી અમલમાં છે, તે સીધી તપાસનો સ્ક્રિપ્ટ ફાઇલો અપલોડ કરવા માટે સાથે, બતાવવામાં આવશે.

એક PHP ફોર્મ બનાવી

ફાઈલ અપલોડ ફોર્મ ખૂબ સરળ છે. બ્રાઉઝ બટન અને અપલોડ બટનો ખૂટે છે.

કેવી રીતે બનાવવા સ્વરૂપો નથી, તે સરળ છે કારણ કે વર્ણવે છે. વધુ સૂચનો ધારે છે કે તમે પહેલેથી જ એચટીએમએલ મૂળભૂત વિભાવનાને (અન્યથા તમે PHP પર ડાઉનલોડ કરવા વિશે જાણકારી માટે જોઈ શકાય તેમ ન હતી) હોય છે.

પરંતુ નોંધે છે કે ફોર્મમાં ડેટા તમે enctype લક્ષણ ઉમેરવાની જરૂર છે.

નહિંતર, ફાઈલ હેન્ડલર પર માહિતી ફેલાય કરવામાં આવશે નહીં.

તે કેવી રીતે કામ કરવું જોઈએ?

તમે બ્રાઉઝ બટન પર ક્લિક કરો જ્યારે તમે એક બોક્સ જ્યાં એક ફાઇલ પસંદ કરવા માટે કહેવામાં જોવું જોઈએ.

તે પછી તે પાથ છે કે જ્યાં ફાઈલ સ્થિત થયેલ છે મેળવવા માટે જરૂરી આવશે.

પાથ દેખાતું નથી તો, એક્શન ફરીથી કરે છે.

ડાઉનલોડ ફાઈલ હેન્ડલર પર ક્લિક કર્યા પછી કોઈપણ માહિતી આપી શકે છે.

ઉદાહરણ માટે, તમે વાક્ય જે દર્શાવે છે કે ફાઈલ "જેથી અને તેથી" નામ સફળતાપૂર્વક "જેમ અને જેમ કે" ફોલ્ડર પર અપલોડ કરવામાં આવી છે લખી શકો છો. અલબત્ત, ફાઇલ નામ હંમેશા અલગ આપવામાં આવશે.

ખાસ કરીને, આ જાણકારી ડિબગ કોડ માટે વપરાય છે. આમ તે ચકાસવા માટે માહિતી ફેલાય છે અને લખે ઇચ્છિત ડિરેક્ટરીમાં થાય શક્ય છે. કે, ફાઇલ નામ સૂચવ્યું ન હોય. આ વધારાની માહિતી ત્યારથી વપરાશકર્તા જરૂર નથી.

તે આઉટપુટ નામ વપરાશકર્તા બહુવિધ ફાઇલો ડાઉનલોડ તો જ અર્થમાં બનાવે છે. આવા કિસ્સામાં, થોડી વધુ વિચારણા છે. માતાનો જાતને આગળ ન મળી દો.

ગોઠવણ

સર્વર PHP ફાઇલ અપલોડ ચોક્કસ સેટિંગ્સ, જે php.ini ફાઈલમાં કરાવવું જોઈએ જરૂરી છે. આ ફાઇલ સુયોજનો ઘણો સમાવે છે. તેઓ અમે બધા જરૂર નથી. file_uploads, upload_tmp_dir અને upload_max_filesize: અમે ત્રણ રેખાઓ રસ હોય છે.

કૃપા કરીને નોંધો કે આ સેટિંગ્સને તમારી સાઇટ્સ તમામ સર્વર પર માત્ર કોઇ એક પર અસર કરશે. તેથી, હકીકત એ છે કે તમે વપરાશકર્તાઓને લોડ પડશે પર આધારિત મહત્તમ કદ સેટ કરવા માટે. તે ખૂબ મોટી સેટ કરવાની ભલામણ કરેલી નથી.

એકવાર તમે આ પરિમાણો મૂલ્યો બદલી શકો છો, તમે સર્વર પુનઃશરૂ કરવાની જરૂર છે. નહિંતર સુયોજનો અસર નથી લેશે, કારણ કે તેઓ સર્વર લોડ સમયે વાંચો.

તમે સર્વર SSH મારફતે કનેક્ટ કરીને કન્સોલમાં કરી શકો છો. ફક્ત આદેશ service httpd restart દાખલ કરો, અને પછી સેટિંગ્સ પ્રભાવમાં આવશે.

બીજી પદ્ધતિ - ISP-પેનલ દ્વારા અથવા બિલિંગ પેનલ પ્રદાતા મારફતે પુનઃપ્રારંભ કરો.

અરે ફાઈલ

PHP માં ફાઇલ અપલોડ એરે $ _FILES દ્વારા કરવામાં આવે છે. તે ફાઇલો કે આપણે ડાઉનલોડ વિશેની તમામ માહિતી સમાવે છે.

કઈ માહિતી અરે, નીચેની ફાઇલ હેન્ડલર લખવા પૂરતી સમાયેલ છે તે જોવા માટે.

કોઇ પણ ફાઇલ પસંદ કરો અને ક્લિક કરો "અપલોડ કરો". હેન્ડલર પૃષ્ઠ પરની માહિતી કે $ _FILES સંગ્રહિત થાય છે પ્રદર્શિત કરશે. ચલ સંપૂર્ણપણે મૂડી અક્ષરો સાથે લખેલા છે. PHP - એક ભાષા-સંવેદનશીલ.

તમે જોઈ શકો છો, આ એરે ક્ષેત્રો ઘણો છે. તેમને બધા અમારા માટે મહત્વપૂર્ણ છે. પ્રથમ ક્ષેત્ર સ્વરૂપ છે, જેમાં તે તમારા કમ્પ્યુટર પર ઉપયોગ થાય છે ફાઈલ નામ સમાવે છે.

પ્રકાર કૉલમ ફાઇલ પ્રકાર ઉલ્લેખિત નથી. Tmp_name ક્ષેત્ર અસ્થાયી ફાઇલ નામ અનુલક્ષે છે. સ્ક્રિપ્ટ અંત પછી કાઢી નાખવામાં આવશે.

ભૂલ ક્ષેત્ર એક ભૂલ કોડ સમાવે છે. આ થોડી વધુ હતી. માપ - બાઇટ્સમાં કદ.

ભૂલો

PHP ફાઇલ અપલોડ મારફતે હાથ ધરવામાં હંમેશા એક ભૂલ કોડ સાથે આવે છે. એક ભૂલ સંદેશો "ભૂલ" માં દાખલ થયો હતો. સ્ક્રીનશૉટ ભૂલ શૂન્ય છે.

બધી ભૂલો કિંમત વિચારો:

તે પરિમાણ સામાન્ય HTML માં સ્પષ્ટ કરી શકો છો વિશે ઉપર હતું.

અહીં ફાઇલ છે, જે અપલોડ કરેલી ફાઇલનાં રકમ મર્યાદા સૂચવે ડાઉનલોડ નમૂના સ્વરૂપ છે.

PHP ફાઇલ અપલોડ સ્ક્રિપ્ટ

બધા વ્યવહારમાં હાથ ધરવામાં તરીકે? PHP માં ફાઇલ અપલોડ નકલ આદેશ થાય છે. સ્રોત ફાઇલ અને ગંતવ્ય ફાઇલ - તમે કેવી રીતે ફાઈલ ડાઉનલોડ કરવા પ્રશ્ન રસ છે, તો જવાબ સરળ copy-, જે બે પરિમાણો વાપરે છે.

પરંતુ, ઉપર જણાવ્યું હતું કે, તે નથી સલામતીના કારણોસર મર્યાદિત હોઈ શકે છે. ઉદાહરણ તરીકે, તપાસો ફાઇલ કેવા પ્રકારની અમે વહાણ, તમે એરે $ _FILES માં ફીલ્ડ પ્રકાર વાપરી શકો છો. પ્રથમ, ચાલો નિરીક્ષણ સાથે વ્યવહાર છે, અને પછી સંપૂર્ણ સ્ક્રિપ્ટ પર ખસેડો દો

હવે કહો કે તમે વપરાશકર્તાઓ માત્ર GIF, JPEG અથવા PNG રિઝોલ્યુશન સાથે એક ફોટો અપલોડ કરવા માટે પરવાનગી આપવા માંગો દો. સૂચવો તે આ જેમ હોઈ શકે છે.

જો ($ _ ફાઇલો [ 'file_upload'] [ 'પ્રકાર']! = "image / gif") {
echo "માફ કરશો, અમે માત્ર Gif-ફાઇલો ડાઉનલોડ આધાર";
બહાર નીકળો;
}

તમે બધા 3 પ્રકારો વહાણ કરવા માંગો છો, તો ફક્ત ઇમેજના અન્ય પ્રકાર વધારાની શરત ઉમેરો.

કોપિ (1 છબી, ઇમેજ 2): કૉપિ જેમ કરવામાં આવે છે.

અમારા કિસ્સામાં, ત્યારે કામ સર્વર PC થી ડાઉનલોડ કરી રહ્યું છે, તો તમે શું કરી શકો છો

કોપિ ($ _ ફાઇલો [ 'file_upload'] [ "tmp_name"], "1.jpg")

એટલે કે, ફાઇલ નામ 1.jpg સાથે કૉપિ કરવામાં આવશે. આ સંપૂર્ણપણે સાચું નથી. આ કિસ્સામાં, તે માત્ર એક ઉદાહરણ છે. ફાઇલ નામ હંમેશા ફાઇલ પર આધાર રાખીને અલગ અલગ સ્પષ્ટ કરવા, અને સ્પષ્ટ વિસ્તરણ, માટે જરૂરી છે.

નક્કી વિસ્તરણ વિવિધ માર્ગો હોઈ શકે છે. તે બધા જ્ઞાન વિકાસકર્તા પર નિર્ભર છે. (સેકન્ડમાં tenths એક તફાવત) વિસ્તરણ નક્કી કરવા ઝડપી રીતે એક - આ આગામી કોડ છે.

$ Path_info = pathinfo ($ _ ફાઇલો [ 'photo1'] [ "નામ"]);

$ Ext = $ path_info [ 'EXTENSION'];

ચલ $ EXT અમે ઇચ્છિત વિસ્તરણ સંગ્રહ કરશે. ફાઇલ નામ રેન્ડમ MD5 મદદથી પર સેટ કરી શકાય છે. તમે ફાઇલો ઘણો ડાઉનલોડ કરવાની યોજના, તો તેને અલગ ફોલ્ડર્સ જહાજ વધુ સારું છે. તેથી તે વધુ અનુકૂળ રહેશે. ખાસ કરીને, તમે સાફ કરવા માંગો છો તો.

કોડ નીચે મુજબ હશે ડાઉનલોડ કરવા.

/// ફોટા સાથે

જો ($ _FILES [ 'photo1'] [ 'tmp_name'] == નલ)

{

પડઘો ( "

અજાણી ફાઇલ.

પાછા ... ");

બહાર નીકળો;

}

///. સર્વર પર કોઇ પ્રોજેક્ટ માટે તમે કહો મોટી ફાઇલો (વિડિયો) લોડ કરવા માટે માન્ય છે, પરંતુ ત્યાં માત્ર ચિત્રો છે, અને વપરાશકર્તાઓ મર્યાદિત કરવાની જરૂર છે

જો (($ _FILES [ "photo1"] [ "કદ"]> 1024 * 1024 * 2)

{

?>

ની મહત્તમ મંજૂર કદ 2 એમબી

પાછા ...

બહાર નીકળો;

}

// ફોલ્ડર્સ બનાવી

// વર્તમાન મહિનાના ફોલ્ડર બનાવવા

જો (! file_exists ( "img /". તારીખ ( "M")))

{

mkdir ( "img /" તારીખ ( "M").);

}

// વર્તમાન દિવસ એક ફોલ્ડર બનાવવા

જો (! file_exists ( "img /". તારીખ ( "M"). "/". તારીખ ( "ડી")))

{

mkdir ( "img /" તારીખ ( "M") "/" તારીખ ( "ડી") ...);

}

/// ફાઇલ એક્સ્ટેંશન

$ Path_info = pathinfo ($ _ ફાઇલો [ 'photo1'] [ "નામ"]);

$ Ext = $ path_info [ 'EXTENSION'];

/// ફાઇલનામ પેદા

$ Id = MD5 (તારીખ ( "YMd"));

જો (કોપિ ($ _ ફાઇલો [ 'photo1'] [ "tmp_name"], "img /". તારીખ ( "M"). "/". તારીખ ( "ડી"). "/". $ આઈડી. $ EXT) )

{

પડઘો ( "સફળતાપૂર્વક અપલોડ ફાઇલ");

}

/// આગળ કોઈ પગલા (ડેટાબેઝમાં પ્રવેશ છે, અને તેથી પર. એન)

}

બહુવિધ ફાઇલો

બહુવિધ ફાઇલો (PHP) અપલોડ ફોર્મ વધારાના ક્ષેત્રો માધ્યમ દ્વારા થાય છે.

આ પદ્ધતિને તેને ડાઉનલોડ કરવા માટે ફાઈલો સ્થળોની સંખ્યા મર્યાદિત ખૂબ સારી નથી, છે. વધુમાં, તે પ્રોગ્રામિંગ ખરાબ ફોર્મ માનવામાં આવે છે. બધું ગતિશીલ કરવા માટે પ્રયત્ન કરો.

આદર્શ વિકલ્પ છે - તે એક બટન દબાવીને એક જ સમયે ફાઇલો મોટી સંખ્યામાં ની પસંદગી છે.

આ કરવા માટે, આ કોડ જેમ એક આકાર બનાવો.

<ફોર્મ પદ્ધતિ = "POST" ક્રિયાને = "હેન્ડલર ફાઇલમાં લિંક" નામ = "upload_form" enctype = "multipart / ફોર્મ-માહિતી">

નોંધ કરો કે શબ્દ બહુવિધ વધુમાં, અને નામ ઝાકઝમાળ [] તરીકે આપવામાં આવે છે. આ કિસ્સામાં, $ _FILES એરે સહેજ અલગ હશે. તમે એરે ઝાકઝમાળ મળશે.

ચકાસવા માટે ફરીથી var_dump ($ _ ફાઇલો) નો ઉપયોગ કરી શકો છો;

તમારી બધી ફાઇલો આ જેવા અરે મૂકવામાં આવશે:

  1. $ _FILES [ "file1"] [ "નામ"] [0]
  2. $ _FILES [ "file1"] [ "નામ"] [1]
  3. અને તેથી પર.

કૌંસમાં એરે ફાઇલ નંબર લખવામાં આવી છે. શૂન્ય માંથી ગણતરી. અમે તેમને જ રીતે સારવાર, ફક્ત ચક્ર પૂછો અને ઇન્ડેક્સ ઉમેરીને [$ i] ના અંતે ઉપર વર્ણવ્યા કોડ સંપર્ક કરીને.

$ I = 0;

જ્યારે ($ _FILES [ "file1"] [ "નામ"] [$ i] <> '')

{

/// ઉપર પેસ્ટ કરો

}

આમ, તમે, કારણ કે સામાન્ય રીતે કેસ જો તમે (છેલ્લા ફોટો) ફાઇલો સ્થિર નંબર સાથે આવૃત્તિ ઉપયોગ કરે છે કોડ બિનજરૂરી પુનરાવર્તન વિના એક ચક્રમાં સર્વર સાથે એક PHP ફાઈલ અપલોડ મારફતે થાય પડશે.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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