当我尝试将文件上传到Web服务器时不起作用,但是如果在本地上传文件,则可以工作

时间:2019-06-27 08:42:04

标签: php html iis

我正在尝试将文件从我的网页上传到我的Webserve,以获得更精确的图像,但是它不起作用。如果我在本地执行所有操作,但在服务器上则无法正常运行。 它没有给我发出任何错误消息,我也不知道为什么。

我尝试给出正确的前提,但没有奏效。我尝试了另一种编程方法,但它也没有起作用。它总是显示我的第一个else循环。

<?php
$SBA_ID = $_GET['SBA_ID'];
if (isset($_POST['submit'])) {
$file = $_FILES['my_file'];
print_r($file);
$fileName = $_FILES['my_file']['name'];
$fileTmpName = $_FILES['my_file']['tmp_name'];
$fileSize = $_FILES['my_file']['size'];
$fileError = $_FILES['my_file']['error'];
$fileType = $_FILES['my_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 = "Auftrag".$SBA_ID.".".$fileActualExt;
$fileDestination = 'AuftragFotos/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
header("refresh:2;url= ../Startseite.php");
}else {
echo "Your File is too big!";
}
}else {
echo "There was an error uploading your file!";
}
}else {
echo "You cannot uplaod files of this Type";
}
}

我的表单

<form action="<?php echo"speichern/Fotospeichern.php?SBA_ID=$SBA_ID"?>"        
method="POST" enctype="multipart/form-data">
<input type="file" name="my_file"/>
<button type="submit" name="submit">UPLOAD</button>
</form>

我希望输出是将图像上载到“ AuftragFotos”目录,但它始终显示:“即使您指定了要上载的文件类型,也无法上载此类型的文件。”

1 个答案:

答案 0 :(得分:1)

您在转义字符串时遇到问题。

更改:

<form action="<?php echo "speichern/Fotospeichern.php?SBA_ID=$SBA_ID"?>"        
method="POST" enctype="multipart/form-data">
<input type="file" name="my_file"/>
<button type="submit" name="submit">UPLOAD</button>
</form>

收件人:

<form action="speichern/Fotospeichern.php?SBA_ID=<?php echo $SBA_ID; ?>"        
method="POST" enctype="multipart/form-data">
<input type="file" name="my_file"/>
<button type="submit" name="submit">UPLOAD</button>
</form>