这里还需要一个功能 就是用户上传多张照片时候 把第一张设置为缩略图 还需要 上传者IP 和设备型号
时间: 2024-04-21 07:22:41 浏览: 21
如果你需要在用户上传多张照片时将第一张照片设置为缩略图,并保存上传者的IP地址和设备型号,你可以对代码进行适当的修改。以下是一个示例的修改:
**upload.php**
```php
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 处理上传文件
if(isset($_FILES['photo'])){
$file_names = $_FILES['photo']['name'];
$file_tmps = $_FILES['photo']['tmp_name'];
$titles = $_POST['title']; // 从表单获取标题
$uploader_ip = $_SERVER['REMOTE_ADDR']; // 获取上传者的IP地址
$device_model = $_SERVER['HTTP_USER_AGENT']; // 获取上传者的设备型号
// 循环处理每个上传文件
for ($i = 0; $i < count($file_names); $i++) {
$file_name = $file_names[$i];
$file_tmp = $file_tmps[$i];
$title = $titles[$i];
// 将文件保存到服务器上的指定目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($file_name);
if (move_uploaded_file($file_tmp, $target_file)) {
// 如果是第一张照片,将其设置为缩略图
if ($i === 0) {
$thumbnail_path = $target_file;
}
// 将文件信息保存到数据库中
$sql = "INSERT INTO photos (title, filename, uploader_ip, device_model, thumbnail_path) VALUES ('$title', '$file_name', '$uploader_ip', '$device_model', '$thumbnail_path')";
if ($conn->query($sql) === TRUE) {
echo "照片上传成功!";
} else {
echo "照片上传失败: " . $conn->error;
}
} else {
echo "照片上传失败!";
}
}
}
// 关闭数据库连接
$conn->close();
?>
```
在上面的代码中,我们添加了以下内容:
```php
$titles = $_POST['title']; // 从表单获取标题
$uploader_ip = $_SERVER['REMOTE_ADDR']; // 获取上传者的IP地址
$device_model = $_SERVER['HTTP_USER_AGENT']; // 获取上传者的设备型号
```
这些代码用于获取从表单中输入的标题,并使用 `$_SERVER` 超全局变量获取上传者的IP地址和设备型号。然后,我们在循环处理每个上传文件时,将这些信息一同保存到数据库中。
在处理每个上传文件的循环中,我们使用 `$i === 0` 条件来判断是否是第一张照片,如果是第一张照片,则将其设置为缩略图,并将缩略图路径保存到数据库中。
请确保在 `upload.php` 文件中将 `your_username`、`your_password` 和 `your_database` 替换为你自己的数据库凭据和数据库名称。
这样,当用户上传多张照片时,第一张照片将被设置为缩略图,并且每张照片都将保存上传者的IP地址和设备型号。
希望这个修改对你有帮助!如果还有其他问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)