{"id":4610,"date":"2024-04-25T11:14:39","date_gmt":"2024-04-25T10:14:39","guid":{"rendered":"https:\/\/ibex.tech\/cloud\/?p=4610"},"modified":"2025-12-02T22:03:40","modified_gmt":"2025-12-02T22:03:40","slug":"post-file-uploads","status":"publish","type":"post","link":"https:\/\/ibex.tech\/cloud\/php\/forms\/file-uploads\/post-file-uploads","title":{"rendered":"POST File uploads"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Saving a file uploaded using POST<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>  \/\/-----------------------------------\n  \/\/----- CHECK FOR FILE UPLOADED -----\n  \/\/-----------------------------------\n  $FileUploadValid = True;      \/\/Default to valid file being uploaded\n\n  \/\/Check the files array isn't empty\n  if(!empty( $_FILES ))\n  {\n    \/\/print_r($_FILES);\n\n    \/\/Verify that the file being uploaded is one of our supported types\n    if ($_FILES&#91;'my_file_input_name']&#91;'type'] != \"image\/jpeg\")\n      $FileUploadValid = False;\n\n    \/\/Another method:\n    \/\/$FileExtension = strtolower(pathinfo($_FILES&#91;'my_file_input_name']&#91;'name'], PATHINFO_EXTENSION));\n    \/\/if ($FileExtension != \"zip\")\n    \/\/  $FileUploadValid = False;\n\n    \/\/Verify the file size is not too big\n    if ($_FILES&#91;'my_file_input_name']&#91;'error'] == 2)     \/\/2=invalid filesize\n      $FileUploadValid = False;\n  }\n  else\n  {\n    $FileUploadValid = False;\n  }\n\n  if ($FileUploadValid)\n  {\n    \/\/--------------------------\n    \/\/----- STORE THE FILE -----\n    \/\/--------------------------\n\n    \/\/Get file extension\n    $path = $_FILES&#91;'my_file_input_name']&#91;'name'];\n    $UploadedFileName = strtolower(pathinfo($filename, PATHINFO_FILENAME));\n    $UploadedFileExtension = strtolower(pathinfo($path, PATHINFO_EXTENSION));\n    if (strlen($UploadedImageFileExtension) > 4)\n      $UploadedImageFileExtension = 'err';\n\n    $SaveAsFilename = \"uploadedfile.txt\";\n\n    \/\/----- WRITE THE FILE -----\n    $OurFileUploadsDirectory = $_SERVER&#91;'DOCUMENT_ROOT'] . '\/uploaded_files';\n\n    \/\/Ensure directory exists\n    if (!file_exists($OurFileUploadsDirectory))\n    {\n      admin_event_db_add_event(0, \"creating file uploads directory\");\n\n      wp_mkdir_p($OurFileUploadsDirectory);\n      chmod($OurFileUploadsDirectory, 02775);     \/\/Set folder permissions to allow read of file added here\n    }\n\n    \/\/Write the file\n    $Source = $_FILES&#91;'my_file_input_name']&#91;'tmp_name'];\n    $OurFileUploadsDirectory = trailingslashit($OurFileUploadsDirectory);\n    move_uploaded_file($Source, $OurFileUploadsDirectory . $SaveAsFilename);\n\n    if (!is_file($OurFileUploadsDirectory . $SaveAsFilename))\n    {\n      \/\/----- FILE SAVE FAILED -----\n      $FileUploadValid = False;\n\n    }\n\n  } \/\/if ($FileUploadValid)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Saving a file uploaded using POST<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[364],"tags":[],"class_list":["post-4610","post","type-post","status-publish","format-standard","hentry","category-file-uploads"],"_links":{"self":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/comments?post=4610"}],"version-history":[{"count":12,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4610\/revisions"}],"predecessor-version":[{"id":5210,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/posts\/4610\/revisions\/5210"}],"wp:attachment":[{"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/media?parent=4610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/categories?post=4610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibex.tech\/cloud\/wp-json\/wp\/v2\/tags?post=4610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}