我在PHP中创建了一个简单的文件上传器,用户可以上传一些图片。然后,该脚本将这些图像放入名为“上传”的目录中。另一个脚本会创建一个包含上传所有图片的图库,因此每次用户上传新图片时,该文件都会添加到图库中。
它工作正常 - 但只有当我在计算机上使用它时才能正常工作。当我在iPad / iPhone上试用时,上传的图片文件大小为0字节,你也无法在图库中看到它们。
这是我的代码:
形式:的
<form action="fupload.php" method="post" enctype="multipart/form-data">
<div class="upload-btn">
<label class="fileContainer">
Choose Pictures
<input name="datei[]" type="file" accept="image/*;capture=camera"multiple />
</label>
<br /><input id="file" type="submit" value="Upload"></input>
</div>
</form>
者:的
<?php
// Maximale Größe der Datei (Byte)
$maxSize = 20971520;
// Hilfsvariable für Array Index
$i = 0;
foreach($_FILES as $file):
foreach($file['name'] as $filename):
if($file['size'][$i] > $maxSize) {
echo "<h2 class='err_message'>Dein Bild ist leider zu groß</h2>";
++$i;
continue;
}
// Eindeutiger Dateiname
$save_as_name = uniqid().'_'.$filename;
// Datei auf Server speichern
move_uploaded_file($file['tmp_name'][$i], 'uploads/'.$save_as_name);
++$i;
endforeach;
endforeach;
echo "<img src='img/ok.svg' class='okay' /><h2 class='message'>Deine Bilder wurden erfolgreich hochgeladen</h2>";
echo $_FILES;
&GT;
图库:
<?php
$ordner = "uploads";
$allebilder = scandir($ordner); // Sortierung A-Z
foreach ($allebilder as $bild) {
// Zusammentragen der Dateiinfo
$bildinfo = pathinfo($ordner."/".$bild);
// Größe ermitteln für Ausgabe
$size = ceil(filesize($ordner."/".$bild)/20971520);
//1024 = kb | 1048576 = MB | 1073741824 = GB
if ($bild != "." && $bild != ".." && $bild != "_notes" && $bildinfo['basename'] != "Thumbs.db") {
?>
<div class="img">
<a href="<?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?>">
<img src="<?php echo $bildinfo['dirname']."/".$bildinfo['basename'];?>" width="300" title="Thumbnail" />
</a>
</div>
<?php
}
}
?>
我想知道是否有人可以帮助我