📜  PHP |想象一下 setImageProfile()函数(1)

📅  最后修改于: 2023-12-03 15:03:40.600000             🧑  作者: Mango

PHP | Imagine a setImageProfile() Function

In PHP, the setImageProfile() function could be used to set or update a user profile picture in a web application or a social media site.

Parameters

The function generally takes two parameters- the first being the user_id (unique identifier for each user in the database) and the second being the new profile picture file.

function setImageProfile($user_id, $profile_picture){
    // function code
}
Functionality

The setImageProfile() function would first check the file type and size of the new profile picture. If it is a valid image file, the function would then rename the file to a unique name using the user's ID to avoid naming conflicts. After renaming, it would then store the new profile picture in the server's storage location.

function setImageProfile($user_id, $profile_picture){
    // check if valid file type and size
    if($profile_picture['type']=='image/png' || $profile_picture['type']=='image/jpeg'){
        if($profile_picture['size']<10485760){
            $new_filename = $user_id.'_'.time().'.jpg'; // rename file using user_id and timestamp
            $storage_location = './uploads/'; // server's storage location
            $destination = $storage_location.$new_filename;
            move_uploaded_file($profile_picture['tmp_name'], $destination); // store new profile picture
        }
    }
}

After storing the new profile picture, the function would then update the user's profile picture file name in the database with the new unique file name generated by the function.

function setImageProfile($user_id, $profile_picture){
    // check if valid file type and size
    if($profile_picture['type']=='image/png' || $profile_picture['type']=='image/jpeg'){
        if($profile_picture['size']<10485760){
            $new_filename = $user_id.'_'.time().'.jpg'; // rename file using user_id and timestamp
            $storage_location = './uploads/'; // server's storage location
            $destination = $storage_location.$new_filename;
            move_uploaded_file($profile_picture['tmp_name'], $destination); // store new profile picture
            
            // update user's profile picture file name in database
            $db_connection = mysqli_connect("localhost", "username", "password", "database_name");
            $update_query = "UPDATE users SET profile_picture='".$new_filename."' WHERE user_id='".$user_id."'";
            mysqli_query($db_connection, $update_query);
        }
    }
}
Conclusion

Overall, the setImageProfile() function is a useful tool for managing user profile pictures in web applications and social media sites. By properly checking file types and sizes, generating unique file names, and updating the database, it ensures that only valid images are stored and associated with the correct user's profile.