Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2021, 20:26   #1
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 90
По умолчанию Загрузка картинки аватара при регистрации

доброй ночи.
подскажите как сделать загрузку аватарки на wp при регистрации профиля.

делаю так
Код:
if(!empty($_FILES)){ 
    //Get the Size of the File
    $size_bytes = get_option('maximguploadsize') * 1024 * 1024; //5MB
    $file_size = $_FILES['Filedata']['size'];
 
    //Make sure that file size is correct
    if ($file_size > $size_bytes){ die("The file is too large"); }
    if ($file_size == "0"){ die("The file can't have 0Kb"); }
    $allowed_extensions = array("gif","png","jpg","jpeg");
    $extension = str_replace("jpeg", "jpg", $extension);
    $upload_folder = time().rand(1,9999);
    if(!$upload_folder) { die("No upload folder specified in custom meta field"); }
    update_post_meta(get_the_ID(), "upload_folder", $upload_folder);
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = ABSPATH . 'wp-content/uploads/'.$upload_folder;
    $targetFile =  time().rand(1000, 9999).".".$extension;
 
    if ((!in_array($extension,$allowed_extensions))) { die("Wrong file extension"); }
    if (!is_dir($targetPath)) {
        if (!mkdir($targetPath, 0777, true)) { die('Failed to create folder for the images!'); }
    }
 
    if (move_uploaded_file($tempFile,$targetPath."/".$targetFile)) {
        $attachment = array(
            'post_mime_type' => $image_mime_type['mime'],
            'guid' => content_url()."/uploads/".$upload_folder."/".$targetFile,
            'post_status' => 'inherit',
            'post_parent' => get_the_ID(),
            'post_title' => $targetFile,
            'post_type ' => "attachment"
        );
 
        // Save the attachment metadata
        require_once( ABSPATH . 'wp-admin/includes/image.php' );
        $attachment_id = wp_insert_attachment($attachment, $targetPath."/".$targetFile, get_the_ID());
        $attach_data = wp_generate_attachment_metadata($attachment_id, $targetPath."/".$targetFile);
        wp_update_attachment_metadata($attachment_id, $attach_data);
        echo 'ok';
    }
}
но папка не создается и картинки там нет. или подскажите где и когда создается $upload_folder на wp а не в моем примере сам не нашел(. тк после нажатия в бд папка upload_folder в wp_postmeta создается.
Blood_ghosT вне форума Ответить с цитированием
Старый 26.02.2021, 07:44   #2
laiho123
Заблокирован
 
Регистрация: 10.02.2021
Сообщений: 20
По умолчанию

Папка также может не создаваться, если права на папку в нужной директории не стоят как 777...в linux-vps/vds это команда chmod -R 777 на нужную папку.
laiho123 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка картинки на сервер [Flash загрузка] LongMonster Работа с сетью в Delphi 0 05.03.2017 17:14
Загрузка картинки Terikon JavaScript, Ajax 0 19.05.2013 22:17
Баг при обрезке аватара fastjust Помощь студентам 1 03.09.2011 11:19
Загрузка файла при регистрации RIO Работа с сетью в Delphi 0 10.11.2010 21:34
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 22:11

Реклама для незарегистрированных, регистрация на форуме