gpt4 book ai didi

javascript - php 中仅验证文件附件 doc 和 pdf

转载 作者:行者123 更新时间:2023-12-02 17:32:25 27 4
gpt4 key购买 nike

在下面的代码中,它上传所有文件类型,但我只需要 doc 和 pdf 文件

我只想上传 doc 和 pdf 文件,请帮助我, friend 们我可以知道该怎么做吗

这里是代码,说明如何验证。

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Email Attachment Without Upload - Excellent Web World</title>
<style>
body{ font-family:Arial, Helvetica, sans-serif; font-size:13px;}
th{ background:#999999; text-align:right; vertical-align:top;}
input{ width:181px;}
</style>
</head>
<body>
<form action="emailSend.php" method="post" name="mainform" enctype="multipart/form-data">
<table width="500" border="0" cellpadding="5" cellspacing="5">
<tr>
<th>Your Name</th>
<td><input name="fieldFormName" type="text"></td>
</tr>
<tr>
<tr>
<th>Your Email</th>
<td><input name="fieldFormEmail" type="text"></td>
</tr>
<tr>
<th>To Email</th>
<td><input name="toEmail" type="text"></td>
</tr>

<tr>
<th>Subject</th>
<td><input name="fieldSubject" type="text" id="fieldSubject"></td>
</tr>
<tr>
<th>Comments</th>
<td><textarea name="fieldDescription" cols="20" rows="4" id="fieldDescription"></textarea></td>
</tr>
<tr>
<th>Attach Your File</th>
<td><input name="attachment" type="file"></td>
</tr>
<tr>
<td colspan="2" style="text-align:center;"><input type="submit" name="Submit" value="Send"><input type="reset" name="Reset" value="Reset"></td>
</tr>
</table>
</form>
</body>
</html>

emailSend.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<?php

$to = $_POST['toEmail'];
$fromEmail = $_POST['fieldFormEmail'];
$fromName = $_POST['fieldFormName'];
$subject = $_POST['fieldSubject'];
$message = $_POST['fieldDescription'];

/* GET File Variables */
$tmpName = $_FILES['attachment']['tmp_name'];
$fileType = $_FILES['attachment']['type']==doc/pdf;
$fileName = $_FILES['attachment']['name'];

/* Start of headers */
$headers = "From: $fromName";

if (file($tmpName)) {
/* Reading file ('rb' = read binary) */
$file = fopen($tmpName,'rb');
$data = fread($file,filesize($tmpName));
fclose($file);

/* a boundary string */
$randomVal = md5(time());
$mimeBoundary = "==Multipart_Boundary_x{$randomVal}x";

/* Header for File Attachment */
// $headers .= "\nMIME-Version: 1.0\n";
// $headers .= "Content-Type: multipart/mixed;\n" ;
// $headers .= " boundary=\"{$mimeBoundary}\"";

/* Multipart Boundary above message */
$message =



$message . "\n\n";

/* Encoding file data */
$data = chunk_split(base64_encode($data));

/* Adding attchment-file to message*/
$message .=

" name=\"{$fileName}\"\n" .

$data . "\n\n"
;
}

$flgchk = mail ("$to", "$subject", "$message","$headers");

if($flgchk){
echo "A email has been sent to: $to";
}
else{
echo "Error in Email sending";
}
?>
</body>
</html>

最佳答案

您可以按如下方式检查

$allowedExts = array(
"pdf",
"doc",
"docx"
);

$allowedMimeTypes = array(
'application/msword',
'application/pdf'
);

$extension = end(explode(".", $_FILES["file"]["name"]));


if ( ! ( in_array($extension, $allowedExts ) ) ) {
die('Please provide another file type .');
}

if ( in_array( $_FILES["file"]["type"], $allowedMimeTypes ) )
{
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
}
else
{
die('Please provide another file type .');
}

关于javascript - php 中仅验证文件附件 doc 和 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937895/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com