• Wordpress + Contact Form 7 как генерировать в 1 текстовый файл все опросы?

    @hurdcor Автор вопроса
    /* загрузка картинки по заданному URL or path */
    function my_media_handle_upload(
    $file_url,
    $post_id,
    $post_data = array(),
    $overrides = array( 'test_form' => false )) {

    $time = current_time('mysql');
    if ( $post = get_post($post_id) ) {
    if ( substr( $post->post_date, 0, 4 ) > 0 )
    $time = $post->post_date;
    }

    //получение файла и создание его временной копии
    $file = file_get_contents($file_url);
    if (!empty($file)) {
    $tmpfname = tempnam(sys_get_temp_dir(), 'EX_');
    $temp = fopen($tmpfname, "wb");
    fwrite($temp, $file);
    fclose($temp);

    //имитируем загрузку временного файла
    $file_id = 'myfile';
    $_FILES[$file_id] = array(
    'name' => basename($file_url),
    'type' => mime_content_type($tmpfname),
    'size' => filesize($tmpfname),
    'tmp_name' => $tmpfname,
    );
    } else {
    return 0;
    }

    require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-admin/includes/file.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-admin/includes/image.php';

    $name = $_FILES[$file_id]['name'];
    $file = _wp_handle_upload($_FILES[$file_id], $overrides, $time, 'user-export');

    if ( isset($file['error']) ) {
    return new WP_Error( 'upload_error', $file['error'] );
    }

    $name_parts = pathinfo($name);
    $name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) );

    $url = $file['url'];
    $type = $file['type'];
    $file = $file['file'];
    $title = $name;
    $content = '';
    $excerpt = '';

    if ( 0 === strpos( $type, 'image/' ) && $image_meta = @wp_read_image_metadata( $file ) ) {
    if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
    $title = $image_meta['title'];
    }

    if ( trim( $image_meta['caption'] ) ) {
    $excerpt = $image_meta['caption'];
    }
    }

    // Construct the attachment array
    $attachment = array_merge( array(
    'post_mime_type' => $type,
    'guid' => $url,
    'post_parent' => $post_id,
    'post_title' => $title,
    'post_content' => $content,
    'post_excerpt' => $excerpt,
    ), $post_data );

    // This should never be set as it would then overwrite an existing attachment.
    unset( $attachment['ID'] );

    // Save the data
    $id = wp_insert_attachment($attachment, $file, $post_id);
    if ( !is_wp_error($id) ) {
    wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
    }

    return $id;
    }
    Ответ написан
    Комментировать