{"id":24420,"date":"2021-05-18T16:48:00","date_gmt":"2021-05-18T13:48:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24420"},"modified":"2021-10-18T02:15:40","modified_gmt":"2021-10-17T23:15:40","slug":"telecharger-des-fichiers-par-programme-dans-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/telecharger-des-fichiers-par-programme-dans-wordpress\/","title":{"rendered":"T\u00e9l\u00e9charger des fichiers par programme dans WordPress"},"content":{"rendered":"<p>R\u00e9cemment, je travaillais sur un projet o\u00f9 nous voulions t\u00e9l\u00e9charger des images dans le dossier personnalis\u00e9. Nous ne voulons pas utiliser la structure de t\u00e9l\u00e9chargement par d\u00e9faut de WordPress o\u00f9 toutes vos images sont stock\u00e9es au format ann\u00e9e-mois. Au lieu de cela, nous voulions cr\u00e9er notre propre dossier dans le r\u00e9pertoire \u00ab\u00a0uploads\u00a0\u00bb et y stocker des images. Cela m&rsquo;oblige \u00e0 \u00e9crire un programme qui peut t\u00e9l\u00e9charger des fichiers via le formulaire HTML.<\/p>\n<p>Dans cet article, nous \u00e9tudions comment t\u00e9l\u00e9charger des fichiers par programme dans WordPress. Je vais vous montrer deux fa\u00e7ons d&rsquo;effectuer cette t\u00e2che. L&rsquo; un utilise la fonction <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_upload_bits\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_upload_bits()<\/a> int\u00e9gr\u00e9e et l&rsquo;autre utilise la m\u00e9thode <a href=\"https:\/\/www.php.net\/manual\/en\/function.move-uploaded-file.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">move_uploaded_file()<\/a>.<\/p>\n<h3>T\u00e9l\u00e9charger des fichiers par programme dans WordPress<\/h3>\n<p>Pour commencer, cr\u00e9ez un formulaire HTML simple avec une entr\u00e9e de fichier et un bouton d&rsquo;envoi. Vous pouvez placer ce formulaire sur votre page ou votre publication.<\/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>T\u00e9l\u00e9charger le fichier \u00e0 l&rsquo;aide de wp_upload_bits<\/h4>\n<p>En utilisant la <code>wp_upload_bits()<\/code>fonction, votre fichier sera stock\u00e9 dans le r\u00e9pertoire de t\u00e9l\u00e9chargement. Vous trouverez votre fichier dans le dossier du mois de l&rsquo;ann\u00e9e en cours (par ex. wp-content\/uploads\/2020-&gt;03-&gt;votre_fichier). Cette fonction ne d\u00e9placera pas un fichier parcouru vers le dossier de t\u00e9l\u00e9chargement. Au lieu de cela, il cr\u00e9era un nouveau fichier avec le contenu des fichiers. L&rsquo;utilisation de cette m\u00e9thode est simple. Dans votre <code>functions.php<\/code>fichier, ajoutez le code comme suit.<\/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>Si vous imprimez la <code>$upload<\/code>variable, vous obtiendrez un tableau contenant le r\u00e9pertoire et le chemin URL du fichier t\u00e9l\u00e9charg\u00e9. L&rsquo;utilisateur peut enregistrer le chemin de l&rsquo;URL dans la base de donn\u00e9es \u00e0 l&rsquo;aide de <code>$upload['url]<\/code>.<\/p>\n<h4>T\u00e9l\u00e9charger le fichier dans le r\u00e9pertoire personnalis\u00e9<\/h4>\n<p>Comme mentionn\u00e9 ci-dessus, en utilisant la <code>wp_upload_bits()<\/code>m\u00e9thode, vos fichiers seront stock\u00e9s en utilisant la hi\u00e9rarchie de dossiers WordPress par d\u00e9faut. Mais que se passe-t-il si vous souhaitez stocker des fichiers dans votre propre r\u00e9pertoire\u00a0?<\/p>\n<p>Dans ce cas, vous devez cr\u00e9er votre dossier personnalis\u00e9 dans le r\u00e9pertoire \u00ab\u00a0uploads\u00a0\u00bb et d\u00e9placer votre fichier dans ce dossier. Supposons que vous souhaitiez stocker vos fichiers dans le r\u00e9pertoire &lsquo;uploads\/product-images&rsquo;. Dans le code ci-dessous, nous allons cr\u00e9er un runtime de dossier &lsquo;product-images&rsquo; et y stocker des fichiers. Ce code aussi vous pouvez \u00e9crire dans le <code>functions.php<\/code>fichier.<\/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>Ici, j&rsquo;utilise la m\u00e9thode <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_unique_filename\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_unique_filename()<\/a> qui donne le nom de fichier unique pour le r\u00e9pertoire donn\u00e9.<\/p>\n<p>C&rsquo;est \u00e7a! Il s&rsquo;agit de savoir comment t\u00e9l\u00e9charger des fichiers par programme dans WordPress. Utilisez-vous une autre m\u00e9thode pour une t\u00e2che similaire? S&rsquo;il vous pla\u00eet partager dans la section commentaire ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-utiliser-la-methode-wp_get_image_editor-pour-redimensionner-vos-images-dans-wordpress\/\" title=\"Comment utiliser la m\u00e9thode wp_get_image_editor pour redimensionner vos images dans WordPress\">Comment utiliser la m\u00e9thode wp_get_image_editor pour redimensionner vos images dans WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-enregistrer-des-tailles-d-image-personnalisees-et-redimensionner-des-images-existantes-dans-wordpress\/\" title=\"Comment enregistrer des tailles d&#039;image personnalis\u00e9es et redimensionner des images existantes dans WordPress\">Comment enregistrer des tailles d&rsquo;image personnalis\u00e9es et redimensionner des images existantes dans WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-definir-une-image-en-vedette-par-programme-dans-wordpress\/\" title=\"Comment d\u00e9finir une image en vedette par programme dans WordPress\">Comment d\u00e9finir une image en vedette par programme dans WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment g\u00e9rer la t\u00e2che de t\u00e9l\u00e9chargement de fichiers WordPress ? Dans cet article, nous expliquons comment t\u00e9l\u00e9charger des fichiers par programmation dans WordPress. Je vais vous montrer comment d\u00e9placer des fichiers<\/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":[412,608],"tags":[844],"class_list":["post-24420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-divers","category-uncategorized-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24420"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24420\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21646"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}