<?php
$name = $_FILES["file"]["name"];
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
?>
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
「Notice:Undefined index」エラーメッセージが表示されます。 enctypeはformタグに含まれているので、それが何であるかわかりません。誰でも助けてくれますか??
何もアップロードされず、issetテストが少し役に立たない場合、最初の割り当ては警告をスローします。
次のようにコードを変更できます
<?php
if (isset($_FILES["file"]["name"])) {
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
?>
<form action="test.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
ファイルのアップロード中にphpで未定義のインデックスを解決しました
最大ファイルサイズ制限のためphp.ini
の変更
`max_execution_time` = 300
`max_input_time` = 240
`post_max_size` = 128M
`upload_max_filesize` = 128M
要件に応じて変更する
<form action="test.php" method="POST" enctype="multipart/form-data"> /* mistake here: change test.php to your source: upload.php */
<input type="file" name="file"><br><br>
<input type="submit" value="Submit">
</form>
コード全体を1つのファイルとして使用している場合(これは疑わしい)、条件文を使用して以下を実行する必要があります。投稿する前にテスト(および作業)しました。
さらに、uploads
フォルダーに適切な書き込み権限が設定され、存在することを確認してください。
_<?php
if(isset($_POST['submit'])){
$name = $_FILES["file"]["name"];
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" name="submit" value="Submit">
</form>
_
脚注:
条件ステートメントを追加しました:
_if(isset($_POST['submit']))
_
そして、送信ボタンに名前を付けました:( isset()
条件ステートメントと連動して動作するため)
_<input type="submit" name="submit" value="Submit">
_
NB:実際に投稿されたコードを2つの別個のファイルとして使用している場合は、PHPこの回答では、別のHTMLフォームで設定された現在の送信ボタンに、上記で示したように_name="submit"
_(たとえば、フォーム_upload_form.htm
_を呼び出す)と名前を付け、さらに_action="upload.php"
_を保持します。それに応じてPHPアップロードハンドラファイルに名前を付けます。
// Count total files
$countfiles = count($_FILES['event_Img']['name']);
for($i=0;$i<$countfiles;$i++){
$filename = $_FILES['event_Img']['name'][$i];
// Get extension
$ext = end((explode(".", $filename)));
move_uploaded_file($_FILES['event_Img']['tmp_name'][$i], "uploads/".$filename);
$sqlBrand = 'INSERT INTO ot_event_images
SET
event_id=:event_id,
imagepath=:imagepath,
imagemimetype=:imagemimetype';
$query2 = $conn->prepare($sqlBrand);
$query2->bindParam(':event_id', $eventid);
$query2->bindParam(':imagepath', $filename);
$query2->bindParam(':imagemimetype', $ext);
$status2 = $query2->execute();
}
if($status2)
{
echo "File upload successfully";
}
else
{
echo "error";
}
1. You hadn't mention name value in your submit button.
2. Use isset function.
<html>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><br><br>
<input type="submit" value="Submit" name="submit">
</form>
</body>
</html>
<?php
if(isset($_POST['submit'])){
$name = $_FILES["file"]["name"];
echo $name;
//$size = $_FILES['file']['size']
//$type = $_FILES['file']['type']
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'uploads/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo 'Uploaded';
}
} else {
echo 'please choose a file';
}
}
}
?>