0

まず第一に、私の英語が下手で申し訳ありません。私が言いたいことを説明しようと思いますが、上手くできなかったらごめんなさい。

ユーザーがサーバーに画像をアップロードできるようにするWebページを作成しようとしています。ページにはURLアップロードとファイルアップロードがあり、アップロード方法を選択するラジオボタンがあります。

私の問題は、url ラジオが選択されているときにファイルのアップロードを無効にする方法がわからないことです。たとえば、次のようになります。

URL アップロード: Web ページは URL を読み取り、その画像を使用します。ファイルのアップロード: ウェブページがファイルを読み取り、その画像を使用します。

それが私が望んでいることですが、問題は両方が選択されている場合です。ページはファイルをアップロードしてURLを読み取りますが、urlラジオが選択されている場合のみです。ファイルラジオが選択されている場合、url は無視されます。

問題は、送信ボタンを押すとファイルがアップロードされ、次にphpサーバーが選択されたラジオボタンと何をしなければならないかをチェックすることです。

URLラジオが選択されている場合、ファイルのアップロードを回避するモードはありますか?, ここにページのスクリプトがあります:

    <?php
    if ($_POST) {

        if ($_POST["filesource"] === "file"){
            $fileread = $_FILES["file"]["tmp_name"];
        }else{
            $fileread = $_POST["url"];
        }

        if ($fileread){
                include('includes/imgresize.php');
                $image = new SimpleImage();
                $image->load($fileread);
                $image->resize(250,400);
                $image->save('picture.jpg');
                echo "La imagen subida es: <br>";
                echo "<img src='picture.jpg'>";
                echo die;
        }else{
            echo "No se ha seleccionado ningún archivo.";
            echo die;
        }
    }
?>
<script>
    function setrad(radbut){
        document.getElementById(radbut).checked = true;
    }
</script>

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <table>
        <tr><td><input type="radio" name="filesource" value="url" id="urlrad" checked>URL:</td><td><input type="text" size="64" name="url" onClick="setrad('urlrad');"></td></tr>
        <tr><td><input type="radio" name="filesource" value="file" id="filerad">File:</td><td><input type="file" size="50" name="file" id="file" onClick="setrad('filerad');"/></td></tr>
    </table>


    <input name="Submit" type="submit" id="submit" value="Submit" />
</form>

前もって感謝します :)

4

1 に答える 1