引言
一、PHP图片上传
1.1 前端表单设计
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit" value="上传" />
</form>
1.2 PHP后端处理
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['image'])) {
// 设置上传目录
$upload_dir = 'uploads/';
// 获取上传文件信息
$file_name = $_FILES['image']['name'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_size = $_FILES['image']['size'];
$file_error = $_FILES['image']['error'];
$file_type = $_FILES['image']['type'];
// 判断文件类型
$allowed_types = array('jpg', 'jpeg', 'png', 'gif');
if (in_array($file_type, $allowed_types)) {
// 判断是否有错误
if ($file_error === 0) {
// 生成新文件名
$new_file_name = uniqid() . '.' . strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
// 移动文件到上传目录
move_uploaded_file($file_tmp, $upload_dir . $new_file_name);
echo "上传成功!";
} else {
echo "上传失败:错误代码 " . $file_error;
}
} else {
echo "上传失败:不支持的文件类型!";
}
}
?>
二、FTP传输
2.1 创建FTP连接
使用PHP的ftp_connect函数创建FTP连接:
$ftp_server = 'ftp.yourserver.com';
$ftp_user = 'yourusername';
$ftp_password = 'yourpassword';
$conn = ftp_connect($ftp_server);
if (!$conn) {
die("FTP连接失败!");
}
if (!ftp_login($conn, $ftp_user, $ftp_password)) {
die("FTP登录失败!");
}
2.2 上传文件
使用ftp_put函数将文件上传到FTP服务器:
$local_file = 'uploads/new_file.jpg';
$remote_file = 'remote_folder/new_file.jpg';
if (ftp_put($conn, $remote_file, $local_file, FTP_BINARY)) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
2.3 关闭FTP连接
上传完成后,关闭FTP连接:
ftp_close($conn);