データベースにイメージをアップロードしようとしていますが、動作しません。PHPファイルのアップロードイメージが正常に動作しない
ここに画像をアップロードするコードがあります。
<?php
$con = mysqli_connect("localhost", "root", "", "test");
mysqli_select_db("test", $con);
$username = $_POST['username'];
$password = $_POST['password'];
$dob = $_POST['dob'];
$no = $_POST['no'];
if(isset($_POST['submit'])) {
if(getimagesize($_FILES['image']['tmp_name']) == FALSE) {
echo "Please select an image.";
}
else {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check file size
if ($_FILES["image"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
echo "<p>Sorry, file already exists.</p>";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "<p>Sorry, your file was not uploaded.</p>";
}
// if everything is ok, try to upload file
else {
if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
$name = basename($_FILES["image"]["name"]);
$image = "uploads/".basename($_FILES["image"]["name"]);
echo "<p>".$name. " has been uploaded.</p>";
header("location: image.php");
$qry = "INSERT INTO images (id, name, image, username, password, dob, no) VALUES (NULL, '".$name."', '".$image."', '".$username."', '".$password."', '".$dob."', '".$no."')";
$result = mysqli_query($con, $qry);
//$sql = "INSERT INTO images (username) VALUES ('$username')";
//$result = mysqli_query($con, $sql);
}
else {
echo "<p>Sorry, there was an error uploading your file.</p>";
}
}
}
}
?>
いつもファイルをアップロードしているうちに申し訳ありませんでした。
これはサーバーログのエラーです。
PHP警告:move_uploaded_file(): /VAR/WWW/HTMLの '2017年8月9日16-57-58.pngからアップロード/スクリーン' 'への/ tmp/phpRGn6S7' を移動できませんライン45上の/practice1/images2.php、リファラ: http://localhost/practice1/image.php
私はPHPでアップロードしたファイルに新しいです。 は本当に感謝します。 ありがとうございます。
それが与えたエラー上の任意の詳細をLinux上で は、次のような完全なパスを配置する必要がありますか? PHP/Apacheのエラーログには何が表示されていますか?ファイルサイズは最大ファイルアップロードサイズのPHP設定を超えていますか?それが書いているフォルダは、Apacheユーザが書き込み可能ですか? – flauntster
あなたが直面している問題は何ですか? – DSK
あなたのHTMLフォームに 'enctype'がセットされていますか? 'enctype =" multipart/form-data "' –