sql >> Database teknologi >  >> RDS >> Mysql

Hvordan uploader man et billede til localhost-serveren, mens stien er gemt i mysql-databasen?

Jeg havde også dette problem - jeg fandt dog ud af det. Jeg vil lave en hurtig gennemgang af, hvordan man uploader en fil til en mappe, og gemmer stien i MySQL, du kan lave flere forespørgsler efter du har set den indledende forespørgsel, på den måde kan du slippe og slette filen, som du ønsker . Here Gos:

<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.";
    }
}
?>

Hav det sjovt! Åh, og min database bruger VarChar til billeder. Hvis du vil være kreativ og finde ud af en anden måde - gå videre.




  1. Sådan sletter du dublerede rækker uden entydig identifikator

  2. Få den første dag i måneden i PostgreSQL

  3. MySQL-forespørgsel til dynamiske rangeringsrækker

  4. Hvad er den rigtige syntaks for IF-sætning i MySQL?