Intereting Posts
Какой метод лучше всего запускать в сценарии WordPress Автор Сообщений Обзор после каждого изменения в том же WordPress сообщение имя пользователя meta в качестве настраиваемого поля Целевая секунда от последнего сообщения в цикле rt media plugin count не работает в shortcode Остановить wordpress автоматически сбрасывая данные $ _POST Есть ли универсальный пул для статической домашней страницы? позволить пользователям добавлять несколько разделов на статическую страницу Изображение аватара не отображается при использовании get_avatar Nav-Menu не отображается Когда в WordPress я пытаюсь запустить php-скрипт напрямую, я перенаправлен на домашнюю страницу Категории WordPress из плагина Inline-Table под TwentyTwelve не работает Добавьте пользовательскую вкладку рядом с параметрами экрана и справкой Правильный способ реализации / доступа к встроенной странице в моей теме

Загрузить изображение в интерфейсе> Создать направление и / или переименовать имя файла?

У меня есть форма для некоммерческого клуба, в котором публикуются сообщения + до 20 изображений. Путь изображения будет записан в пользовательском поле. Изображения загружаются. Хорошо, теперь я хочу переименовать изображения или (намного лучше) создать папку. Но есть специальное: форма загружает 2 стиля изображений. Для разыскиваемого лица (g) до 15 изображений и до 5 изображений для человека, которому не хватает этого человека (лиц). Поэтому я должен разделить изображения на сервере. Изображения даны из нескольких полей ввода.

Я назвал поля ввода для «g» следующим образом:

<input type="file" name="image_1_gesucht" id="image_1_gesucht"> <input type="file" name="image_2_gesucht" id="image_2_gesucht"> ... <input type="file" name="image_15_gesucht" id="image_15_gesucht"> 

Поле для «s» называется:

 <input type="file" name="image_1_suchend" id="image_1_suchend"> <input type="file" name="image_2_suchend" id="image_2_suchend"> ... <input type="file" name="image_5_suchend" id="image_5_suchend"> 

Если я могу переименовать изображения: я мог бы сделать это с помощью префикса типа g- или s- и уникального числа. Для уникального номера я могу использовать post-id.

Если я создам папку: Тогда мне нужна папка с именем, как post-id. Если я могу переименовать изображения с префиксом, эта одна папка с post-id будет одобрена. Если я не могу переименовать изображения, мне нужно еще 2 подпапки – один для «g» и один для «s».

Мой существующий скрипт выглядит следующим образом. Я публикую это, чтобы представить себе существующую работу. Может ли кто-нибудь сказать мне, как переименовать изображения или создавать папки? Извините, я достаточно глуп, что я не могу понять / понять, что wordpress-codex хочет мне рассказать. В stackexchange также есть несколько статей simiolar ( переименование изображений с шириной в имени файла и проблемы с переименованием изображений во время загрузки ), но и здесь: извините, не могу понять / понять. Надеюсь, кто-нибудь может мне помочь

 if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "new_post") { $file=$_FILES; // Funktion zum Image-Upload, falls sie noch nicht existiert if ( ! function_exists( 'wp_handle_upload' )) { require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); } // Variablen für die Bilder $overrides = array( 'test_form' => false); $image_1_gesucht = wp_handle_upload( $file['image_1_gesucht'], $overrides ); $image_2_gesucht = wp_handle_upload( $file['image_2_gesucht'], $overrides ); // Benutzerdefinierfte Felder für die Bilder add_post_meta($pid,'image_1_gesucht',$image_1_gesucht['url']); add_post_meta($pid,'image_2_gesucht',$image_2_gesucht['url']); } <form id="new_post" name="new_post" method="post" action="" enctype="multipart/form-data"> <div class="pro50left"> <fieldset class="images"> <label for="images">Bild 1:</label> <input type="file" name="image_1_gesucht" id="image_1_gesucht"> </fieldset> </div> <div class="pro50left"> <fieldset class="images"> <label for="images">Bild 2:</label> <input type="file" name="image_2_gesucht" id="image_2_gesucht"> </fieldset> </div> </form> 

Solutions Collecting From Web of "Загрузить изображение в интерфейсе> Создать направление и / или переименовать имя файла?"

Какие похожие сообщения (которые вы нашли) предлагают, добавляет фильтр в ваш functions.php будет обрабатывать имена файлов для вас. Все загруженные файлы будут отфильтрованы этой функцией, прежде чем загрузка будет обработана wp_handle_upload .

Добавьте в свои functions.php следующие строки кода:

 function wpse_82741_rename_uploaded_file( $image ) { global $post; // get the post ID $post_id = absint( $_REQUEST['post_id'] ); // get the image extension switch( $image['type'] ) { case 'image/jpeg' : $extension = 'jpg'; break; case 'image/png' : $extension = 'png'; break; case 'image/gif' : $extension = 'gif'; break; } // set the new image name $image['name'] = "$post_id.$extension"; } add_filter( 'wp_handle_upload_prefilter', 'wpse_82741_rename_uploaded_file', 20 ); 

И все имена будут похожи на {post_id}.{extension} .

Для обработки вашего пути загрузки возникает вопрос об этом.

Загрузка пути обрабатывается через wp_upload_dir() который применяет фильтр upload_dir к возвращенной информации. Вы должны попробовать отфильтровать его на время запуска вашего кода и настроить пути к нужному местоположению.

Вы можете попробовать это, используя код, объясненный на этой веб-странице, добавив следующий код в свой файл functions.php и отредактировав конфигурацию:

 add_filter('upload_dir', 'wpse_82741_upload_dir'); $upload = wp_upload_dir(); remove_filter('upload_dir', 'wpse_82741_upload_dir'); funcion my_upload_dir($upload) { $upload['subdir'] = '/sub-dir-to-use' . $upload['subdir']; $upload['path'] = $upload['basedir'] . $upload['subdir']; $upload['url'] = $upload['baseurl'] . $upload['subdir']; return $upload; } 

Для этого достаточно справиться, но я уверен, что это возможно.