0

私はこの問題を解決しようとしていますが、これまでのところうまくいきませんでした。

ファイルのアップロードは Chrome、Mozilla、Safari では機能しますが、IE 8 または 9 では機能しません。タイムアウトになるまで Internet Explorer でハングアップします。コードは次のように機能します。

0ここでは、成功したことを意味する" " のエラー コードを探しています。ユーザーが何かを作成した場合、ドキュメントの選択以外は以下のコードを実行します..ドキュメントの場合は、コードのelse部分に移動します。

最初の部分では.. 新しいファイル パスを変数に設定します。アップロードされていないかどうかを確認し、アップロードされていない場合は、ユーザーにメッセージを送信します。成功した場合は、いくつかの値をテーブルに挿入します。次に、関数 move_uploaded_file を使用して一時ファイルをディレクトリに移動します。ドキュメントの場合は、else 部分の下のコードを実行します。ここでどこが間違っていますか?どんな考えも役に立ちます。

これが私のコードです。

if ($_FILES['image']['error'] == 0) {

    if ($_POST['type'] != 'document') {

        $newFile = "/var/www/localhost/htdocs/digital-materials/images/products/".basename($_FILES['image']['name']);

        if (!move_uploaded_file($_FILES['image']['tmp_name'],$newFile)) {
            echo "<h1>Error uploading file ".$_FILES['image']['name']."</h1>$newFile<br />\n";
        } else {
            error_reporting(E_ALL);
            $escapedPost = array_map('mysql_real_escape_string', $_POST);
            extract($escapedPost);
            $sql = "INSERT INTO digital_materials (`itemName`,`itemDesc`,`imageURL`,`language`,`category`,`size`,`flagDesc`,`type`,`description`,`fileURL`) VALUES ('$itemName','$itemDesc','".basename($_FILES['image']['name'])."','$language','$category','".basename($_FILES['image']['size'])."','$itemDesc','$category','$itemDesc','".basename($_FILES['image']['name'])."')";
            $res = mysql_query($sql);
            move_uploaded_file($_FILES['image']['tmp_name'],$newFile);
            echo "<h1>File has been uploaded</h1><br />\n";
        }

    } else {

        print_r($_FILES);
        $newFile = "/var/www/localhost/htdocs/digital-materials/documents/".basename($_FILES['image']['name']);
        $file = $_FILES['image']['tmp_name'];
        move_uploaded_file($file,$newFile);

    }
}

フォームコードは次のとおりです

<form method='post' action='digital-materials-admin.php' enctype='multipart/form-data'>
            <input type='hidden' name='newItem' value='1' />
            <div class='add-new-input'>
                <div>Item Name:</div><input type='text' name='itemName' />
            </div>
            <div class='add-new-input'>
                <div>File:</div><input type='file' name='image' />
            </div>
            <div class='add-new-input'>
                <div>Type:</div>
                    <select name='type'>
                        <option value='default'>Please Select a Type</option>
                        <option value='image'>Image</option>
                        <option value='Photos'>Photo</option>
                        <option value='Logos'>Logo</option>
                        <option value='document'>Document</option>
                    </select>
            </div>
            <div id='typeSelect'></div>
            <div class='add-new-input'>
            <div>Category</div>
                <select name='category'>
                    <option value='default'>Please Select a Category</option>
                    <option value='Logos'>Logos</option>
                    <option value='Presentations'>Presentations</option>
                    <option value='Photos'>Photos</option>
                    <option value='PDF'>PDF</option>
                    <option value='CAD'>Cad Drawing</option>
                    <option value='Word'>Word Documents</option>
                    <option value='Spreadsheets'>Spreadsheets</option>
                </select>
            </div>
            <div id='categorySelect'></div>
            <div class='add-new-input'>
                <div>Item Description:</div><textarea rows='3' cols='40' name='itemDesc'></textarea>
            </div>
            <div class='add-new-input'>
                <div>Language:</div><input type='text' name='language' id='language' />
            </div>
            <div class='add-new-input'>
                <div>Flag Text:</div><input type='text' name='flagDesc' />
            </div>
            <div class='add-new-input'>
                <input type='submit' value='Add Item' id='submit-button' />
            </div>
        </form>

CSSコード

#imageWarn {
    width: 300px;
    position: relative;
    left: 200px;
    color: red;
    font-size: 12px;
    padding-bottom: 15px;
}

.add-new-input {
    vertical-align:top;
    padding-bottom:10px;
}
.add-new-input input, textarea, select {
    width:300px;
}
.add-new-input div {
    width:200px;
    font-size:12pt;
    clear:none;
    display:inline-block;
    vertical-align:top;
}
#submit-button {
    width:100px;
}

4

1 に答える 1

0

これをフォームに追加してみてください

<input type="hidden" name="MAX_FILE_SIZE" value="MaxFileSizeInBytes">
于 2013-04-19T18:23:17.087 に答える