上传Excel到服务器
问题描述:
我在一个网站上工作,并有一个小问题。 我想上传我的服务器上的excel文件。 我之前用图片做了类似的事情(上传profilpicture)。有没有可能为Excel文件更改该代码?上传Excel到服务器
<form enctype="multipart/form-data" action="Profil.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" id="Upload" name="submit" value="Upload">
</form>
和脚本:
<?php
if(isset($_POST["submit"]))
//
{
$target_dir = "Profilbilder/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$filename = $_FILES["fileToUpload"]["name"];
$file_ext = substr($filename, strripos($filename, '.')); // get file name
$newfilename = $_SESSION['loginUsername'].$file_ext ;
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false)
{
//echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else
{
//echo "File is not an image.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000)
{
//echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"&& $imageFileType != "gif")
{
//echo "Sorry, only JPG, JPEG, PNG & GIF 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 (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir.$newfilename))
{
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else
{
echo "Sorry, there was an error uploading your file.";
}
}
}
?>
有没有人的想法?
答
改变这个字符串
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"&& $imageFileType != "gif")
是这样的
if($file_ext != "xls" && $file_ext != "xlsx" && $file_ext != "csv")
它的快速和肮脏的和有做检查元的更好的方法,但它会工作。
重要提示
,还应注意其大量不安全的,因为什么能阻止你重命名一个.exe文件到.xls和再上传左右。检查上传文件的元类型可能会更好。
现在代码运行直到上传。但move_uploaded_file($ _ FILES [“fileToUpload”] [“tmp_name”],$ target_dir。$ newfilename)不起作用。你有想法吗? – nicoschuck
您需要删除getimagesize以及if check check语句。还要确保您的文件保存路径可由Web服务器写入 – Dave