$_Files Global Variable PHP tutorial in Hindi aaj हम इस आर्टिकल के माध्यम से लास्ट ग्लोबल वेरिएबल के बारे में सिखने वाले है जिसे हम $_files कहते है। और बाकि जितने भी सुपर ग्लोबल वेरिएबल php में है उसे हम पिछली आर्टिकल में कवर कर चुके है अगर आपने वो आर्टिकल नही पढ़ा है। तो जरूर पढ़े।
तो सबसे पहले है जानते है की ये files varibale करता क्या है। तो इसके लिए मानलीजिये आपके पास में कोई फॉर्म है उस फॉर्म से से choose फाइल करके कोई फाइल अपलोड करते है जैसे फोटो, पीडीऍफ़, कोई फाइल इत्यादि। तो तो जब आप इसे अपलोड करके सबमिट बटन पर क्लीक करते है। तो ये फाइल सर्वर पर अपलोड हो जाती है।
और सर्वर पर हम किसी टेम्पररी फोल्डर में इसे सेव करवा देते है जिसे आप इसे डाटा base में भी सेव कर सकते है तो clinte साइड से फाइल को सर्वर पर ले जाने का काम होता है $_FILES का ये वेरिएबल जैसा की मैंने आपको ऊपर में बताया है की ये फाइल को सर्वर पर सेव कर देता है।
तो अब हम जानते है की ये files वेरिएबल काम कैसे करता है। जब हम choose file ka जो फॉर्म बनाते है use हम html के कोड से create करते है। <input type=”file” name=”image”> कुछ इस तरीके से करते है
जब हम इसे $_FILES[‘image’] जब हम इस ग्लोबल वेरिएबल में इसे ऊपर जो नाम दिया है image उसे सेव करते है तो हमें ये एक array return करता है एक assosetive array इस array के अंदर हमें 4 वैल्यू मिलती है।
- name
- size
- tmp_name
- type
पहले फाइल का नाम और फिर साइज़ और साइज़ में आप कंडीशन भी लगा सकते है अगर आप चाहते है की यूजर २ mb से ज्यादा बड़ी फाइल अपलोड नही कर सके तो ये काम भी इसमें कर सकते है। अगला है टेम्पररी नाम जब भी हम फाइल को सर्वर पर अपलोड करते है तो हमें एक टेम्पररी नाम की जरूरत पड़ती है। और लास्ट है type यानि की आपने जो भी फाइल अपलोड की है उसका type क्या है जैसे jpg png gif pdf exl etc.
और जब हमें ये सारी जानकारी मिल जाती है तो हम एक फंक्शन का use करते है जिसे हम कहते है move_uploded_file(file,dest) इसके अंदर हम दो तरह के पेरामीटर पास करते है और ये फंक्शन करता क्या है की clinte साइड से फाइल को अपलोड करता है सर्वर पर
और पहले पेरामीटर में आपने जो टेम्पररी नाम दिया है फाइल का वो देना है और dest मतलब है की आप इसे कहाँ अपलोड करना चाहते है सर्वर पर उसका नाम देना है।
<?php
if(isset($_FILES['image'])){
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}
?>
<html>
<head>
<title>File Global varible</title>
</head>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="save">
</form>
</html>
यहाँ पर मैंने एक सिंपल सा फॉर्म बनाया है जिसमे मैंने इनपुट type में फाइल दिया है और method में post दिया अब इसके आगे मैंने enctype दिया तो इसका मतलब है जब भी आप इस तरह की फाइल को अपलोड करते है तो ये डालना जरूरी है। क्यूंकि हम यहाँ पर $_POST की मदद से फाइल को सर्वर पर नही भेज सकते है। इसके लिए हम use करते है $_FILES तो इसके लिए ये लगाना पड़ता है।
फिर मैंने इसमें मैंने ऊपर php का कोड लिखा है पहले मैंने if की कंडिशन लगा कर ये चेक किया है की क्या ये $_FILES नाम के वेरिएबल के अंदर हमने जो image दिया है ये इसमें है या नहीं। और ये image नाम वो ही मैंने दिया है जो मैंने निचे इनपुट टtype केआगे नाम दिया है। अगर सही मिलता है तो ये निचे आकर इस वेरिएबल को पप्रिंट करे।
और मैंने इसे print_r में इसलिए लिया है की मैंने आपको ऊपर भी बताया है की ये हमें एक array return करता है। और इस array को प्रिंट करने के लिए हम use करते है। print_r फंक्शन का।
और जब आप जब आप इसम जाकर एक फाइल को अपलोड करते है तो array प्रिंट हो जायेगा और इसमें अपने जो फोटो अपलोड की है use जानकारी आ जाएगी।
और इसमें else की कंडिशन भी लगा सकते है। अगर फाइल अपलोड नही होती है तो वो सन्देश शो करे। जैसे आप निचे के कोड में देख सकते है।
<?php
if(isset($_FILES['image'])){
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}else{
echo "<b> Here is some error!</b>";
}
?>
<html>
<head>
<title>File Global varible</title>
</head>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image.">
<input type="submit" name="save">
</form>
</html>
और अब अगर array का आउटपुट दिखाता हूँ।
आउटपुट :-
Array ( [image] => Array ( [name] => 996.jpeg [type] => image/jpeg [tmp_name] => C:\xammp\tmp\phpD488.tmp [error] => 0 [size] => 100175 ) ) array कुछ इस तरीके का डाटा प्रिंट करता है जैसे नाम फाइल type और tmp नाम और साइज़ एरर इसका मतलब है फाइल अपलोड करते समय अगर कोई एरर आता है तो ये भी यहाँ पर शो होता है। और कोई अगर इसमें से एक ही वैल्यू को प्रिंट करना चाहते है तो इसे भी कर सकते है। इसके लिए आपको array की की का use करना पड़ेगा और वैल्यू प्रिंट हो जायेगा। जैसे आप निचे के कोड में देख सकते है।
<?php
if(isset($_FILES['image'])){
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}else{
echo "<b> Here is some error!</b>";
}
echo $fast = $_FILES['image']['name'];
?>
<html>
<head>
<title>File Global varible</title>
</head>
<br><br><br><br>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="save">
</form>
</html>
Output:-
Array ( [image] => Array ( [name] => 1005.jpeg [type] => image/jpeg [tmp_name] => C:\xammp\tmp\php2B51.tmp [error] => 0 [size] => 105395 ) )
1005.jpeg
ye aap last me dekh sakte hai maine isme sirf name hi pritn kiya hai is tarike se aap or bhi value ko print kar sakte hai. iske liye aapko alg alg variable lena padega jaise aap niche ke code me dekh sakte hai.
<?php
if(isset($_FILES['image'])){
echo "<pre>";
print_r($_FILES);
echo "</pre>";
}else{
echo "<b> Here is some error!</b>";
};
$fast = $_FILES['image'] ['name'];
$in = $_FILES['image'] ['size'];
$hindi = $_FILES['image'] ['tmp_name'];
$ghamesh = $_FILES['image'] ['type'];
move_uploaded_file($hindi,"file-upload/" . $fast);
?>
<html>
<head>
<title>File Global varible</title>
</head>
<br><br><br><br>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="save">
</form>
</html>
तो आप इस तरह के कोड लिखकर किसी एक फोल्डर में फाइल को सेव करवा सकते है यहाँ पर मैंने किया क्या array की सभी key थी उन सभी का वेरिएबल बना लिए है। अब मै इन्हें कहीं भी use कर सकता हूँ। फिर इसके अंदर मैंने move_uploded_file() function ka use kiya hai. fir iske andr perameter me vo varible liya hai jo sarvar par ek temprary name se file ko save karta hai uske baad me maine ek folder banaya hai.
us folder ka name liya hai fir / diya hai taki ye foldr ke andr jakr save ho jaye or . ka sine lagakar file name ka jo variable banaya hai use use kiya to ise hoga kya ki is namse se file save ho jayegi folder ke andr to ab jab bhi aap ise upload karte hai. to folder kar andr jakr image ya file save ho jayegi.
और ऊपर में जो प्रिंटr फंक्शन का use n करे तो भी चलेगा। और इसके साथ if की कंडिशन और else की कंडिशन भी लगा सकते है। ताकि जैसे ही फाइल अपलोड हो तो ये कुछ सन्देश शो करदे। जैसा की आप निचे के कोड में देख सकते है की हमने जो नया फंक्शन use किया है use if के अंदर डालना होगा।
<?php
if(isset($_FILES['image'])){
$fast = $_FILES['image']['name'];
$in = $_FILES['image']['size'];
$hindi = $_FILES['image']['tmp_name'];
$ghamesh = $_FILES['image']['type'];
if(move_uploaded_file($hindi, "file-upload/" . $fast)){
echo "File Uploded";
}else{
echo "Here is some error!";
}};
?>
<html>
<head>
<title>File Global varible</title>
</head>
<br><br><br><br>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="save">
</form>
</html>
ab jab bhi aap jaise hi file upload ho jati hai to massage show hoga. to ye hi kaam hai is varible ka thoda taf lag sakta hai thodi practise karoge to ye aasani se samjh me aap jayega.$_Files Global Variable PHP tutorial in Hindi