我正在使用php进行Web开发。目前,我将使用sql server作为我的新项目的数据库。我的问题是,在使用mysql时我通常应用的将文件上传到服务器的代码在sql server上不起作用。在sql server上传文件时是否有任何特殊功能?
顺便说一句,这是我通常使用的代码,并在mysql服务器上运行良好:
<?php
if (isset($_POST['submit'])){
$file=$_FILES['file'];
$fileName=$_FILES['file']['name'];
$fileTmpName=$_FILES['file']['tmp_name'];
$fileExt=explode('.', $_FILES['file']['name']);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if (in_array($fileActualExt, $allowed)){
}else{
echo"not this type";
}
$fileDestination = 'uploads/'.$fileName;
if (move_uploaded_file($fileTmpName,$fileDestination)){
header("location:form.php?uploadsuccess");
}
else{
echo "uploading error";
}
}
?>
我真的很感激解决方案:)
我不知道你的代码中存在什么问题。如果你在你的表单中使用这行<form action="test.php" method="post" enctype="multipart/form-data">
而你在localhost上这样做,否则它就是路径的东西。比试试我做的这个代码,如果这不起作用你应该在你的cpanel中查找错误或打开错误报告
if(isset($_POST['submit'])){
$file = $_FILES['file'];
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
$fileSize = $_FILES['file']['size'];
$fileError = $_FILES['file']['error'];
$fileType = $_FILES['file']['type'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if(in_array($fileActualExt, $allowed)){
if($fileError === 0){
if($fileSize < 1000000){
$fileNameNew = uniqid('', true).".".$fileActualExt;
$fileDestination = 'uploads/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
header("location:form.php?uploadsuccess");
}else{
echo "Your file is too big!";
}
}else{
echo "There was an error uploading your file!";
}
}else{
echo "You can't upload files of this type!";
}
}