{"id":28140,"date":"2021-05-18T16:46:00","date_gmt":"2021-05-18T13:46:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28140"},"modified":"2021-10-17T04:50:09","modified_gmt":"2021-10-17T01:50:09","slug":"ladda-upp-filer-programmatiskt-i-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/ladda-upp-filer-programmatiskt-i-wordpress\/","title":{"rendered":"Ladda upp filer programmatiskt i WordPress"},"content":{"rendered":"<p>Nyligen arbetade jag med ett projekt d\u00e4r vi ville ladda upp bilder i den anpassade mappen. Vi vill inte anv\u00e4nda WordPress-uppladdningsstrukturen som standard d\u00e4r alla dina bilder lagras i ett m\u00e5nadsformat. Ist\u00e4llet ville vi skapa v\u00e5r egen mapp i katalogen &quot;uppladdningar&quot; och lagra bilder i den. Det kr\u00e4ver att jag skriver ett program som kan ladda upp filer via HTML-formul\u00e4ret.<\/p>\n<p>I den h\u00e4r artikeln studerar vi hur man laddar upp filer programmatiskt i WordPress. Jag kommer att visa dig tv\u00e5 s\u00e4tt att utf\u00f6ra denna uppgift. En \u00e4r genom inbyggd <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_upload_bits\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">funktion wp_upload_bits()<\/a> och en annan anv\u00e4nder <a href=\"https:\/\/www.php.net\/manual\/en\/function.move-uploaded-file.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">metoden move_uploaded_file ()<\/a>.<\/p>\n<h3>Ladda upp filer programmatiskt i WordPress<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng, skapa ett enkelt HTML-formul\u00e4r med filinmatning och skicka-knappen. Du kan placera det h\u00e4r formul\u00e4ret p\u00e5 din sida eller inl\u00e4gg.<\/p>\n<pre><code>&lt;h2&gt;Upload a File&lt;\/h2&gt;\n&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"file\" required \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"upload_file\" value=\"Upload\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h4>Ladda upp fil med wp_upload_bits<\/h4>\n<p>Med <code>wp_upload_bits()<\/code>funktionen lagras din fil i uppladdningskatalogen. Du hittar din fil i den aktuella m\u00e5nadsmappen (till exempel wp-content \/ uploads \/ 2020-&gt; 03-&gt; your_file). Denna funktion flyttar inte en webbl\u00e4sad fil till uppladdningsmappen. Ist\u00e4llet skapar den en ny fil med inneh\u00e5llet i filerna. Anv\u00e4ndningen av denna metod \u00e4r enkel. <code>functions.php<\/code>L\u00e4gg till koden i din fil enligt f\u00f6ljande.<\/p>\n<pre><code>&lt;?php\nfunction fn_upload_file() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['upload_file'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload = wp_upload_bits($_FILES['file']['name'], null, $_FILES['file']['tmp_name']);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ save into database $upload['url]\n\u00a0\u00a0\u00a0\u00a0}\n}\nadd_action('init', 'fn_upload_file');<\/code><\/pre>\n<p>Om du skriver ut <code>$upload<\/code>variabeln f\u00e5r du en matris som inneh\u00e5ller katalog och URL-v\u00e4g f\u00f6r den uppladdade filen. Anv\u00e4ndaren kan spara URL-s\u00f6kv\u00e4gen i databasen med <code>$upload['url]<\/code>.<\/p>\n<h4>Ladda upp filen i den anpassade katalogen<\/h4>\n<p>Som n\u00e4mnts ovan, med hj\u00e4lp av <code>wp_upload_bits()<\/code>metoden lagras dina filer med standardhierarkin i WordPress-mappen. Men t\u00e4nk om du vill lagra filer i din egen katalog?<\/p>\n<p>I s\u00e5 fall m\u00e5ste du skapa din anpassade mapp i katalogen &quot;uppladdningar&quot; och flytta din fil till den mappen. L\u00e5t oss s\u00e4ga att du vill lagra dina filer i katalogen &#8217;uppladdningar \/ produktbilder&#8217;. I koden nedan skapar vi k\u00f6rtid f\u00f6r produktbilder och lagrar filer inuti den. Denna kod kan du ocks\u00e5 skriva i <code>functions.php<\/code>filen.<\/p>\n<pre><code>function fn_upload_file() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['upload_file'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload_dir = wp_upload_dir();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! empty( $upload_dir['basedir'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user_dirname = $upload_dir['basedir'].'\/product-images';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! file_exists( $user_dirname)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_mkdir_p( $user_dirname );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = wp_unique_filename( $user_dirname, $_FILES['file']['name'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['file']['tmp_name'], $user_dirname .'\/'. $filename);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ save into database $upload_dir['baseurl'].'\/product-images\/'.$filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\nadd_action('init', 'fn_upload_file');<\/code><\/pre>\n<p>H\u00e4r anv\u00e4nder <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_unique_filename\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">jag<\/a> metoden <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_unique_filename\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_unique_filename ()<\/a> som ger det unika filnamnet f\u00f6r den angivna katalogen.<\/p>\n<p>Det \u00e4r allt! Det handlar om hur man laddar upp filer programmatiskt i WordPress. Anv\u00e4nder du n\u00e5gon annan metod f\u00f6r en liknande uppgift? V\u00e4nligen dela i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-anvander-wp_get_image_editor-metod-for-att-andra-storlek-pa-dina-bilder-i-wordpress\/\" title=\"Hur man anv\u00e4nder wp_get_image_editor Metod f\u00f6r att \u00e4ndra storlek p\u00e5 dina bilder i WordPress\">Hur man anv\u00e4nder wp_get_image_editor Metod f\u00f6r att \u00e4ndra storlek p\u00e5 dina bilder i WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/sa-har-registrerar-du-anpassade-bildstorlekar-och-andrar-storlek-pa-befintliga-bilder-i-wordpress\/\" title=\"Hur man registrerar anpassade bildstorlekar och \u00e4ndrar storlek p\u00e5 befintliga bilder i WordPress\">Hur man registrerar anpassade bildstorlekar och \u00e4ndrar storlek p\u00e5 befintliga bilder i WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-staller-in-utvalda-bilder-programmatiskt-i-wordpress\/\" title=\"Hur man st\u00e4ller in utvalda bilder programmatiskt i WordPress\">Hur man st\u00e4ller in utvalda bilder programmatiskt i WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hur hanterar jag WordPress-fil\u00f6verf\u00f6ringsuppgift? I den h\u00e4r artikeln f\u00f6rklarar vi hur du laddar upp filer programaticaaly i WordPress. Jag visar dig hur du flyttar filer<\/p>\n","protected":false},"author":1,"featured_media":21646,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[418,614],"tags":[850],"class_list":["post-28140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diverse","category-uncategorized-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28140"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28140\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21646"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}