1

画像をアップロードするためのアップロード スクリプトがあります。

私のディレクトリは次のようになります。 ディレクトリ

私のindex.phpは次のようになります:

<html>

    <head>

        <!-- Link naar de stylesheet -->
        <link rel="stylesheet" type="text/css" href="style/default.css" />

    </head>
    <body>
        <center>

            <div id="title">
                <h1>Het "Vergeet-mij-nietje"</h1>
                <sup>Image Upload Script</sup>
            </div>

            <!-- Content -->
            <div id="content1">

                <?php

                    // Check if a post exist
                    if( !isset( $_POST['p'] ) ) { $_POST['p']= 0; }

                    // Include files
                    if( $_POST['p'] == 1 ){
                        include( "includes/uploadimage.php" );
                    }else{
                        include( "includes/uploadform.php" );
                    }

                ?>
            </div>
    </body>
</html>

私のincludesフォルダーには、次のファイルがあります:uploadform.php uploadimage.php

私の uploadform.php は次のようになります。

<form method="post" enctype="multipart/form-data">

    Kies hier meerdere bestanden om te uploaden
    <br /> <br />
    <input type="hidden" name="p" value="1" />

    <input type="file" name="image" multiple />

    <br /> <br />

    <input type="submit" value="Upload"/>

</form>

倍数関数に注意してください。

私の uploadimage.php は次のようになります。

<?php

    // variabelen.
    $name=          $_FILES['image']['name'];
    $temp=          $_FILES['image']['tmp_name'];
    $type=          $_FILES['image']['type'];
    $size=          $_FILES['image']['size'];
    $path=          'uploads/ ' . md5( rand( 0, 1000 ) .rand( 0, 1000 ) .rand( 0, 1000 ) .rand( 0, 1000 ) ) . '.jpg';
    $size2=         getimagesize( $temp );
    $width=         $size2[0];
    $height=        $size2[1];


    // Benodigdheden
    $maxwidth=      1281;
    $maxheight=     1081;
    $allowed=       array( 'image/jpeg', 'image/png', 'image/gif' );


    // Echo data.
    echo '
        '. $name .' <br />
        '. $temp .' <br />
        '. $type .' <br />
        '. $size .' <br />
        '. $path .' <br /><br />
        '. $width .' x
        '. $height .' <br />
    ';

    if( in_array( $type, $allowed   ) ){

        if( $width < $maxwidth && $height < $maxheight ){

            if( $size < 5242880 ){

            /*
                // Vorm van de foto. Dit is nodig bij het Resizen.
                if( $width == $height ){ $case=1;}
                if( $width >  $height ){ $case=2;}
                if( $width <  $height ){ $case=3;}

                switch( $case ){

                    // Vierkant
                    case 1;

                        $newwidth=      100;
                        $newheight=     100;

                    break;

                    // Liggende Rechthoek
                    case 2;

                        $newheight=     100;
                        $ratio=         $newheight / $height;
                        $newwidth=      round( $width * $ratio );

                        echo $newwidth.'x'.$newheight;

                    break;

                    // Staande Rechthoek
                    case 3;

                        $newwidth=      100;
                        $ratio=         $newwidth / $width;
                        $newheight=     round( $height * $ratio );


                }

            */

            }else{
                echo '<p><b>De foto die u zojuist heeft geupload is te groot. Upload een foto, kleiner dan 5mb.</b></p>';
            }


        }else{
            echo '<p><b>De foto die u zojuist heeft geupload heeft een te grote resolutie. Upload een kleinere foto.</b></p>';
        }

    }else{
        echo '<p><b>De foto die u zojuist heeft geupload is geen .jpg, .png of .gif. Deze extensie is niet toegestaan.</b></p>';
    }

    // Upload files.
    move_uploaded_file( $temp, $path );

    // Terug stuur link
    echo '<a href="index.php">Ga Terug</a>';



?>

幅と高さの関数を使用していないことに注意してください


私の問題:

私の問題は、uploadimage.php が複数の画像をアップロードできないことです。一度にアップロードできる画像は 1 つだけです。

一度に複数のファイルをアップロードできるように、uploadimage.php のコードを変更するにはどうすればよいですか。

ありがとう

4

1 に答える 1

1

投稿が送信されたときに配列が必要だと思います

置き換えてみてください:

<input type="file" name="image" multiple />

と:

<input type="file" name="image[]" multiple />

uploadimage.phpで新しい配列を使用します: $_FILES['image'][i]['name'] ここで、'i' は希望する画像の番号です。

ループを使用してそれらすべてを取得します。

ご覧ください: PHP ドキュメント http://php.net/manual/en/features.file-upload.multiple.php

于 2012-11-03T15:07:11.293 に答える