sql >> Database >  >> RDS >> Mysql

Hoe een afbeelding uploaden naar de localhost-server terwijl het pad is opgeslagen in de mysql-database?

Ik had ook dit probleem - ik kwam er echter wel achter. Ik zal een korte uitleg geven over het uploaden van een bestand naar een map en het pad opslaan in MySQL. U kunt meerdere query's uitvoeren nadat u de eerste query hebt gezien, op die manier kunt u het bestand naar wens neerzetten en verwijderen . Hier gaat:

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:<br>

    <input type="file" name="fileToUpload" id="fileToUpload"><br><br>


    <input type="submit" value="Upload Image" name="submit">
</form>
    <?php $target_dir = "ANY_DIRECTORY_YOU_LIKE/PICTURES/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
    // Check if image file is a actual image or fake image
    if(isset($_POST["submit"])) {
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if($check !== false) {
            echo "File is an image - " . $check["mime"] . ".";
            $uploadOk = 1;
        } else {
            echo "File is not an image.";
            $uploadOk = 0;
        }
    }
    // Check if file already exists
    if (file_exists($target_file)) {
        echo "Sorry, file already exists.";
        $uploadOk = 0;
    }
    // Check file size
    if ($_FILES["fileToUpload"]["size"] > 1000000) {
        echo "Sorry, your file is too large.";
        $uploadOk = 0;
    }
    // Allow certain file formats
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
    && $imageFileType != "gif" ) {
        echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
        $uploadOk = 0;
    }
    // Check if $uploadOk is set to 0 by an error
    if ($uploadOk == 0) {
        echo "Sorry, your file was not uploaded.";
    // if everything is ok, try to upload file
    } else {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
            $pictureName = "ANY_DIRECTORY_YOU_LIKE/PICTURES/". basename( $_FILES["fileToUpload"]["name"]);



$servername = "localhost";
$username = "MySQL_USERNAME";
$password = "MySQL_PASSWORD";
$dbname = "MySQL_DATABASE_NAME";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE TableName SET myPicture='$pictureName' WHERE email='$myEmail' AND password='$myPassword'";
// Make Sure to tell MySQL which user you want to update which means setting the variable $myEmail and $myPassword accordingly

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();





    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

Veel plezier! Oh, en mijn database gebruikt VarChar voor afbeeldingen. Als je creatief wilt zijn en een andere manier wilt bedenken, ga je gang.




  1. Gebruiker maken met versleuteld wachtwoord in PostgreSQL

  2. wat betekent niet-geverifieerde gebruiker in MYSQL?

  3. MySQL in 2018:What's in 8.0 en andere observaties

  4. Tijdelijke oplossing voor MySQL beperkt TIMESTAMP-bereik?