阅读量:0
file_get_contents
本身不支持文件上传。它用于从指定的 URL 获取内容,而不是从本地文件系统读取文件。如果您想使用 PHP 处理文件上传,可以使用 $_FILES
超全局变量。
以下是一个简单的示例,说明如何使用 $_FILES
处理文件上传:
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['uploaded_file'])) { $uploadDir = 'uploads/'; $uploadFile = $uploadDir . basename($_FILES['uploaded_file']['name']); $uploadSize = $_FILES['uploaded_file']['size']; $uploadError = $_FILES['uploaded_file']['error']; $uploadType = $_FILES['uploaded_file']['type']; // 检查是否有错误 if ($uploadError === UPLOAD_ERR_OK) { // 检查文件大小是否超过限制(例如:1MB) if ($uploadSize <= 1048576) { // 检查文件类型是否为允许的类型(例如:image/jpeg, image/png) $allowedTypes = ['image/jpeg', 'image/png']; if (in_array($uploadType, $allowedTypes)) { // 将文件移动到上传目录 if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $uploadFile)) { echo '文件上传成功:' . $uploadFile; } else { echo '文件上传失败,请重试。'; } } else { echo '不允许的文件类型。'; } } else { echo '文件大小超过限制。'; } } else { echo '文件上传出错,错误代码:' . $uploadError; } } ?> <!-- HTML 表单 --> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="uploaded_file" accept="image/jpeg, image/png"> <input type="submit" value="上传文件"> </form>
这个示例中,我们创建了一个简单的 HTML 表单,允许用户选择一个文件并上传。当表单提交时,我们检查是否有错误,检查文件大小和类型,然后将文件移动到 uploads
目录。如果一切正常,我们会输出文件上传成功的消息,否则会输出相应的错误信息。