php 全局设置UTF8
时间: 2023-09-02 19:13:46 浏览: 40
在 PHP 中,可以通过设置 php.ini 文件来全局设置 UTF-8 编码。具体步骤如下:
1. 找到 php.ini 文件所在位置。可以通过在 PHP 中执行 `phpinfo()` 函数,查找 "Loaded Configuration File" 字段来确定。
2. 打开 php.ini 文件,并找到以下两个配置项:
```ini
; Default charset for output/input streams.
; http://php.net/default-charset
default_charset = "UTF-8"
; PHP's built-in default character set is set to empty.
; http://php.net/default-charset
;default_charset =
```
这两个配置项分别是 `default_charset` 和 `;default_charset`,前者是被注释掉的,默认值是 "UTF-8",后者是未注释的,默认值为空。
3. 如果 `default_charset` 被注释了,取消注释并将其值设置为 "UTF-8"。
4. 如果 `;default_charset` 没有被注释,将其值设置为 "UTF-8"。
5. 保存 php.ini 文件,并重启 PHP 服务或者 Web 服务器。
这样做后,PHP 将默认使用 UTF-8 编码进行字符串操作和输入输出流操作。
相关问题
PHP+MySQL的视频上传与删除功能实现
实现PHP+MySQL的视频上传与删除功能,可以按照以下步骤进行:
1. 创建数据库:首先要创建一个MySQL数据库,用于存储视频文件的相关信息,如视频的名称、路径、上传时间等。
2. 创建表:在数据库中创建一个表,用于存储视频文件的信息,可以包括以下字段:视频ID、视频名称、视频路径、上传时间等。
3. 上传视频文件:在HTML页面中添加一个表单,用于上传视频文件。在PHP代码中,通过$_FILES全局变量获取上传的文件信息,将视频文件保存到服务器指定目录下,并将相关信息存储到MySQL数据库中。
4. 显示视频列表:在网页中显示已上传的视频列表,可以使用HTML和PHP代码实现。从MySQL数据库中获取所有视频的信息,并将其显示在网页上,同时提供删除视频的功能。
5. 删除视频:当用户点击删除按钮时,通过PHP代码从MySQL数据库中删除相应的视频信息,并从服务器中删除视频文件。
示例代码如下:
1. 创建MySQL数据库和表格
```sql
CREATE DATABASE video;
USE video;
CREATE TABLE video_list (
video_id INT(11) NOT NULL AUTO_INCREMENT,
video_name VARCHAR(255) NOT NULL,
video_path VARCHAR(255) NOT NULL,
upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (video_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
2. 上传视频文件
HTML代码:
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="video">选择视频文件:</label>
<input type="file" name="video" id="video"><br>
<input type="submit" name="submit" value="上传">
</form>
```
PHP代码(upload.php):
```php
<?php
if (isset($_POST['submit'])) {
// 获取上传的文件信息
$video_name = $_FILES['video']['name'];
$video_tmp_name = $_FILES['video']['tmp_name'];
$video_size = $_FILES['video']['size'];
$video_error = $_FILES['video']['error'];
// 检查上传的视频文件是否合法
if ($video_error > 0) {
die("上传视频文件出错");
}
if ($video_size > 100000000) {
die("视频文件过大");
}
// 将视频文件移动到指定目录
$target_dir = "uploads/";
$target_file = $target_dir . basename($video_name);
if (move_uploaded_file($video_tmp_name, $target_file)) {
// 将视频文件信息保存到MySQL数据库中
$conn = mysqli_connect("localhost", "root", "", "video");
$sql = "INSERT INTO video_list (video_name, video_path) VALUES ('$video_name', '$target_file')";
if (mysqli_query($conn, $sql)) {
echo "视频上传成功";
} else {
echo "视频上传失败";
}
mysqli_close($conn);
} else {
echo "视频上传失败";
}
}
?>
```
3. 显示视频列表和删除视频
PHP代码(index.php):
```php
<?php
// 从MySQL数据库中获取视频列表
$conn = mysqli_connect("localhost", "root", "", "video");
$sql = "SELECT * FROM video_list";
$result = mysqli_query($conn, $sql);
?>
<!DOCTYPE html>
<html>
<head>
<title>视频列表</title>
</head>
<body>
<h1>视频列表</h1>
<table>
<tr>
<th>ID</th>
<th>视频名称</th>
<th>上传时间</th>
<th>操作</th>
</tr>
<?php while ($row = mysqli_fetch_assoc($result)) { ?>
<tr>
<td><?php echo $row['video_id']; ?></td>
<td><?php echo $row['video_name']; ?></td>
<td><?php echo $row['upload_time']; ?></td>
<td>
<a href="<?php echo $row['video_path']; ?>" target="_blank">查看</a>
<a href="delete.php?id=<?php echo $row['video_id']; ?>">删除</a>
</td>
</tr>
<?php } ?>
</table>
</body>
</html>
<?php mysqli_close($conn); ?>
```
PHP代码(delete.php):
```php
<?php
if (isset($_GET['id'])) {
$video_id = $_GET['id'];
// 从MySQL数据库中删除视频信息
$conn = mysqli_connect("localhost", "root", "", "video");
$sql = "SELECT video_path FROM video_list WHERE video_id=$video_id";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$video_path = $row['video_path'];
$sql = "DELETE FROM video_list WHERE video_id=$video_id";
if (mysqli_query($conn, $sql)) {
// 从服务器中删除视频文件
if (unlink($video_path)) {
echo "删除成功";
} else {
echo "删除视频文件失败";
}
} else {
echo "删除失败";
}
mysqli_close($conn);
}
?>
```
注意:以上代码仅供参考,实际应用中需要进行适当修改和完善。
制作表单登录,要有登录账号,登录密码还有登录按钮,以post方式将数据提交到login.php页面
好的,以下是一个简单的表单登录示例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login Form</title>
</head>
<body>
<h1>Login Form</h1>
<form method="post" action="login.php">
<label for="username">Username:</label>
<input type="text" name="username" id="username">
<br><br>
<label for="password">Password:</label>
<input type="password" name="password" id="password">
<br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
在上面的示例中,我们使用了 HTML 的表单标签(`<form>`)来创建一个登录表单。其中:
- `method="post"`:指定该表单使用 POST 方法提交数据。
- `action="login.php"`:指定提交到的目标页面为 `login.php`。
- `label` 标签用于为输入框添加标签,方便用户填写。
- `input` 标签用于创建输入框,其中 `type="text"` 表示为文本输入框,`type="password"` 表示为密码输入框。
- `input` 标签中的 `name` 属性会在提交表单时与输入框中的值一起发送到服务器端,可以用于在后台获取数据。
当用户点击登录按钮时,表单中的数据会被提交到 `login.php` 页面。在 `login.php` 页面中,可以通过 `$_POST` 超全局变量来获取表单中提交的数据。以下是一个简单的示例:
```php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// TODO: 在此处进行登录验证
// 如果验证通过,则可以跳转到其他页面
// 如果验证不通过,则可以显示错误信息
}
?>
```
在上面的代码中,我们首先检查了请求的方法是否为 POST,然后使用 `$_POST` 超全局变量获取了表单中提交的用户名和密码。接下来,可以在此处添加登录验证的代码,验证通过后可以跳转到其他页面,否则可以显示错误信息。