PHP में Form; file uploading की कार्यक्षमता प्रदान करता है |
Source Code :1234567891011121314151617181920212223242526272829303132333435363738394041424344454647<?php if(isset($_POST["submit"])){ $file_name = $_FILES["image"]["name"]; $file_size =$_FILES["image"]["size"]; $file_type=$_FILES["image"]["type"]; $file_tmp =$_FILES["image"]["tmp_name"]; $ext_info = pathinfo($file_name); $ext = $ext_info["extension"]; $exe= array("jpeg","jpg","png"); if(in_array($ext, $exe)=== false){ $error="File Format is not allowed."; } if (file_exists("images/".$file_name)) { $error = "File Already Exists."; } if($file_size > (1*1024*1024)){ $error="Upload File less than 1 MB."; } if(empty($error)==true){ move_uploaded_file($file_tmp,"images/".$file_name); echo "Successfully Uploaded."; }else{ echo $error; } } ?> <html> <body> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" name="submit"/> </form> </body> </html> <?php if(isset($_POST["submit"])){ echo "File Name : ".$file_name. "<br />"; $kbsize = ceil($file_size/1024); echo "File Size : ".$kbsize ."kb <br />"; echo "File Type : ".$file_type. "<br />"; echo "Temporary File Name : ".$file_tmp. " "; } ?>
उपरवाले program को हिस्सों को समझ ले |
if(isset($_POST["submit"])){ $file_name = $_FILES["image"]["name"]; $file_size = $_FILES["image"]["size"]; $file_type = $_FILES["image"]["type"]; $file_tmp = $_FILES["image"]["tmp_name"];
if(isset($_POST["submit"])) : अगर ये script इस्तेमाल नहीं किया जाता तो भी चलता है | ऐसा किया जाता है तो program में चार बार undefined index : image की error आ जायेगी | बिना Error के लिए submit name को isset keyword से set किया गया है |
$file_name, $file_size, $file_type और $file_tmp इन variables में जो values दी गयी वो $_FILES के साथ दी गयी है | $_FILES ये superglobal है , जो file upload की जाती है उसकी सारी information इस Superglobal के माध्यम से रखी जाती है |
$ext_info = pathinfo($file_name); $ext = $ext_info["extension"];
$ext_info इस variable में pathinfo() ये function लिया गया है | pathinfo() में जो path दिया जाता है, उसकी सारी information array में return की जाती है | For eg. dirname, extension, basename.
$exe= array("jpeg","jpg","png"); if(in_array($ext, $exe) === false){ $error="File Format is not allowed."; }
जिस file के formats को upload किया जाएगा उस file formats का array दिया गया है |
in_array() इस function पर दो parameters होते है | एक में upload होनेवाले file का extension है और दुसरे में extension का array है |
upload होनेवाले file का extension और दिए हुए array से match हो जाता है तो वो अगले condition पर जाता है |
if (file_exists("images/".$file_name)) { $error = "File Already Exists."; }
file दिए हुए directory पर स्थित है या नहीं ये देखने के लिए ये condition ली गयी है | अगर file already exist है तो $error पर store हुआ statement display होगा |
if($file_size > (1*1024*1024)){ $error="Upload File less than 1 MB.";
यहाँ पर Upload होनेवाली वाली file सिर्फ 1MB से कम होगी |
if(empty($error)==true){ move_uploaded_file($file_tmp,"images/".$file_name); echo "Successfully Uploaded."; }else{ echo $error; }
move uploaded_file() : जब web server पर upload की जानेवाली file temporary copy; temporary folder पर store होती है और move_uploaded_file() इस function से temporary uploaded file को दिए हुए directory पर permanantly store हो जाती है |
form के बारे में देखे तो,
<form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" name="submit"/> </form>
File को upload करना हो तो post method की ही जरुरत पड़ती है | enctype में multipart/form-data ये file uploading के लिए इस्तेमाल किया जाता है |
form को upload करना है तो input type 'file' होगा और name 'image' गया है, इस input attribute के जरिये ही PHP से file पर operation किया जाता है |
0 comments:
Post a Comment
Thanks