c++ 上传文件到服务器代码
时间: 2023-08-29 11:12:15 浏览: 56
上传文件到服务器的代码可以使用以下步骤:
1. 在 HTML 中创建一个表单,包含一个文件上传字段:
```
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
```
2. 在服务器端创建一个 PHP 文件(例如 upload.php),用于处理上传文件的请求。
3. 在 PHP 文件中,可以使用 $_FILES 变量来获取上传的文件信息。例如,可以使用以下代码来获取上传的文件名和临时文件路径:
```
$target_dir = "uploads/"; // 上传文件的目标文件夹
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$temp_file = $_FILES["fileToUpload"]["tmp_name"];
```
4. 然后,可以使用 move_uploaded_file() 函数将文件从临时文件夹移动到目标文件夹:
```
if (move_uploaded_file($temp_file, $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
```
完整的上传文件到服务器的 PHP 代码如下所示:
```
<?php
$target_dir = "uploads/"; // 上传文件的目标文件夹
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$temp_file = $_FILES["fileToUpload"]["tmp_name"];
$uploadOk = 1;
// 检查文件是否已经存在
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// 检查文件大小是否合法
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// 允许上传的文件类型
$allowed_types = array("jpg", "jpeg", "png", "gif");
$file_type = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($file_type, $allowed_types)) {
echo "Sorry, only JPG, JPEG, PNG, GIF files are allowed.";
$uploadOk = 0;
}
// 检查上传是否成功
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($temp_file, $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
```