2016-11-24 18 views
-3

書籍レジストリが作成されている大学プロジェクトに問題があります。しかし、これまでのところとてもうまくいって、ブックカバーを挿入する部分があります。とにかく試してみると、ファイルは送信されません。私はテストするための新しいディレクトリを作成し、それも動作しませんでした。フォームにファイルを提出したときに提出されません

<form enctype="multipart/form-data" method="post" action="index.php"> 
<input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
<input type="file" name="cover"/> 
<input type="submit" name="insert" class="btn btn-primary" value="Insert Data"> 
</form> 

<?php 
if(isset($_POST['insert'])): 
    $destiny = '/' . $_FILES['cover']['name']; 
    $tmp_file = $_FILES['cover']['tmp_name']; 
    move_uploaded_file($tmp_file, $destiny); 
    var_dump($_FILES); 
endif; 
?> 

ファイルを選択せず​​に[送信]をクリックすると、正常にIFに分類されます。ただし、ファイルを送信して[送信]をクリックすると、何も起こりません。ページのみがリロードされます。正しい$運命を入れて同じことを続けようとしました。

編集:解決

Warning: POST Content-Length of 3724451 bytes exceeds the limit of 3145728 bytes in Unknown on line 0

+1

http://php.net/manual/en/function.error-reporting.phpこれは何を示していますか? –

+0

$ _FILESには、アップロードされたファイルに関する多くのメタデータが格納されます。 http://php.net/manual/en/features.file-upload.errors.phpまた、エラー報告やロギングを有効にし、そこに何かが表示された場合は質問に含めてください。 – GordonM

+0

さて、あなたはどんな種類の検証もせずにユーザーの入力を信頼しているようです。これは悪い考えです。私は例えば、ファイル名を../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../.. /../../etc/passwdそしてあなたのシステムをゴミ箱にしてください(/ etc/passwdもまた世界的に書き込み可能な場合) – GordonM

答えて

0

私は次のエラーを受け付けております!

ありがとう@fillipoと@Masivuyeなどのヘルプ

は私がやった:

は、php.iniの最大サイズを変更し、ファイルがindex.phpの内側にフォルダを作成し、またHTMLからMAX_SIZE属性を削除しました。今働いて!

0
<form enctype="multipart/form-data" method="post" action="index.php"> 

<input type="file" name="cover"/> 
<input type="submit" name="insert" class="btn btn-primary" value="Insert Data"> 
</form> 

<?php 
if(isset($_POST['insert'])): 
$target_dir = "uploads/"; 
$destiny = $target_dir . basename($_FILES['cover']['name']); 
$tmp_file = $_FILES['cover']['tmp_name']; 
$uploadOk = 1; 
// Check file size 
if ($_FILES["cover"]["size"] > 30000) { 
    echo "Sorry, your file is too large."; 
    $uploadOk = 0; 
} 
if ($uploadOk == 0) { 
     echo "Sorry, your file was not uploaded."; 
// if everything is ok, try to upload file 
} else { 
if (move_uploaded_file($tmp_file, $destiny)) { 
     echo "The file ". basename($_FILES["cover"]["name"]). " has been uploaded."; 
    } else { 
     echo "Sorry, there was an error uploading your file."; 
    } 
} 

var_dump($_FILES); 
endif; 
?> 
関連する問題