php上传各种格式文件格式 (PHP怎样上传各种格式的文件?)
PHP是一种流行的编程语言,被广泛用于网站的开发和后台管理。在许多Web应用程序中,文件上传是必不可少的功能。但是,上传多种不同的文件格式可能会带来一些挑战。在本文中,我们将介绍如何使用PHP上传各种格式的文件。
首先,我们需要创建一个文件上传表单,允许用户选择要上传的文件。以下是一个示例表单代码:
“`html
“`
表单的 enctype
属性必须设置为 multipart/form-data
,这是因为文件上传需要将文件数据作为二进制流进行传输。
接下来,我们需要准备一个PHP脚本来处理上传的文件。以下是一个示例代码:
“`php
<?php
$targetdir = “uploads/”;
$targetfile = $targetdir . basename($FILES[“fileToUpload”][“name”]);
$uploadOk = 1;
$fileType = strtolower(pathinfo($targetfile,PATHINFOEXTENSION));
// Check if file already exists
if (fileexists($targetfile)) {
echo “Sorry, file already exists.”;
$uploadOk = 0;
}
// Allow certain file formats
if($fileType != “pdf” && $fileType != “doc” && $fileType != “docx” && $fileType != “txt” ) {
echo “Sorry, only PDF, DOC, DOCX & TXT files are allowed.”;
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo “Sorry, your file was not uploaded.”;
// if everything is ok, try to upload file
} else {
if (moveuploadedfile($FILES[“fileToUpload”][“tmpname”], $targetfile)) {
echo “The file “. htmlspecialchars( basename( $FILES[“fileToUpload”][“name”])). ” has been uploaded.”;
} else {
echo “Sorry, there was an error uploading your file.”;
}
}
?>
“`
上述代码的作用是将上传的文件保存到指定目录。首先,我们定义一个目标目录,并使用 basename
函数获取上传文件名。然后,我们检查文件名是否已经存在,并检查文件类型是否是我们所允许的类型。最后,如果一切顺利,我们使用 move_uploaded_file
函数将文件从临时文件夹移动到目标目录。
上面的例子仅限于上传PDF、DOC、DOCX和TXT文件。如果你需要上传其他类型的文件,你需要更新 allowed
变量。例如,如果你想上传jpg文件,你需要将以下代码添加到 allowed
变量:
php
$allowed = array('pdf', 'doc', 'docx', 'txt', 'jpg');
总之,在PHP中上传各种格式的文件并不是太困难。你只需要准备好上传表单和处理脚本,并设置文件类型检查,以确保只有允许的文件类型才能被上传。