Avatar billede totalpc Seniormester
16. marts 2017 - 12:08

Upload af billede i custom PHP

Hej
Jeg har lavet følgende PHP til min wordpress side. Jeg skal have uploaded et billede sammen med, men kan simpelthen ikke finde ud af det. Jeg ved der i wordpress er en function der hedder noget med wp_handle_upload men jeg forstår simpelthen ikke at bruge det. Jeg har behov for hjælp til at få det bikset ind i min PHP og ikke bare en henvisning til et eksempel for jeg har forsøgt mig mange gange.
Krav:
1. Den skal uploade billedet til en specifik folder der hedder storfanger
2. Den skal omdøbe filen til noget andet hvis den findes i forvejen
3. Den skal gemme stien til filen i en variabel som jeg kan gemme i databasen sammen med de andre data.

På forhånd tusind tak.

Min nuværende kode ser således ud:
<?php /* Template Name: Storfanger_indberet */ ?>
<?php
if ( ! defined( 'ABSPATH' ) ) exit;






get_header(); ?>

    <div id="primary" <?php generate_content_class();?>>
        <main id="main" <?php generate_main_class(); ?>>
            <?php do_action('generate_before_main_content'); ?>
           
                      <?php
                        if(!is_user_logged_in())$getOut=true;//Check if visitor is even logged in
            elseif(current_user_can('editor') || current_user_can('administrator')){//Is user administrator or editor?
            $getOut=false;//User can stay and view the content (even process scripts)
            }
            if($getOut){//Should the user be kicked out?
            echo"Du skal være logget ind for at se denne side";
            }else while ( have_posts() ) : the_post(); ?>


            <?php get_template_part( 'content', 'page' ); ?>

                <!--My code begin -->

                <?php
    If($_POST['Submit'])
    {
        // run validation if you're not doing it in js
        global $wpdb;

        $medlemsnr=$_POST['medlemsnr'];
        $navn=$_POST['navn'];
        $baadnavn=$_POST['baadnavn'];
        $art=$_POST['art'];
        $vaegt=$_POST['vaegt'];
        $billede=$_POST['billede'];

        if($wpdb->insert(
                            'ct_storfanger_indberetninger',
                            array(
                            'Medlemsnr' => $medlemsnr,
                            'navn' => $navn,
                            'bådnavn' =>$baadnavn,
                            'art' =>$art,
                            'vægt' =>$vaegt,
                            'billede' =>$billede
                            )
                        ) == false) wp_die('Der var en fejl i indsendelsen. Kontakt venligst webmaster'); else echo 'Tak for din indsendelse. Den vil fremgå af listen så snart den er godkendt af juryen!<p />';

?>

                    <!-- <a href="" onClick="return false;" id="form">Indberet endnu en fangst.</a> -->

<?php
    }
    else // else we didn't submit the form, so display the form
        {
?>
               
                <form action="" method="post" id="form">
                <table style="border:none;">
                <tr>
                <td style="border:none;width:25%">Medlemsnr</td>
                <td style="border:none;"><input name="medlemsnr" type="text" value="" /></td>
                </tr>
                <tr>
                <td style="border:none;">Navn</td>
                <td style="border:none;"><input name="navn" type="text" value="" /></td>
                </tr>
                <tr>
                <td style="border:none;">Bådnavn</td>
                <td style="border:none;"><input name="baadnavn" type="text" value="" /></td>
                </tr>
                <tr>
                <td style="border:none;">Art</td>
                <td style="border:none;">
                <?php
                    global $wpdb;
                    $retrieve_data = $wpdb->get_results( "SELECT Art FROM ct_storfanger_arter");
                ?>
                <SELECT NAME="art"><option value=""></option>
                <?php
                    foreach ($retrieve_data as $retrieved_data){
                        echo "<option value='" . $retrieved_data->Art . "'>" . $retrieved_data->Art . "</option>";
                    }
                ?>
                </SELECT></td>
                </tr>
                <tr>
                <td style="border:none;">Vægt i gram</td>
                <td style="border:none;"><input name="vaegt" type="text" value="" /> gram</td>
                </tr>
                <tr>
                <td style="border:none;">Billede</td>
                <td style="border:none;"><input name="billede" type="file" value="" /></td>
                </tr>
                </table>
                <table style="border:none;">
                <tr>
                <td style="border:none;"><input type="submit" name="Submit" id="formsubmit" value="Indsend" /></form></td>
                </tr>
                </table>
               
                </form>
               
           
<?php
        } // end else no post['submit']
?>               
               
                <!--My code ends -->
               
                <?php
                // If comments are open or we have at least one comment, load up the comment template
                if ( comments_open() || '0' != get_comments_number() ) : ?>
                    <div class="comments-area">
                        <?php comments_template(); ?>
                    </div>
                <?php endif; ?>

            <?php endwhile; // end of the loop. ?>
            <?php do_action('generate_after_main_content'); ?>
        </main><!-- #main -->
    </div><!-- #primary -->

<?php
do_action('generate_sidebars');
get_footer();
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester