Upload af billeder og data på en gang
Hej.Jeg har tidligere spurgt her på exp om hvordan man uploader flere billeder + data på samme tid, og jeg fik også et svar, men det virker ikke helt endnu.
Her er den side hvor man skal skrive data'en og vælge billedet som skal uploades:
<?php
if(ini_get("file_uploads") == 1) {
?>
<tr><td><hr><b>Flere filer på samme tid:</b></td>
</tr><tr>
<td><form enctype="multipart/form-data" action="upload.php" method="post">
<input name="upfile[]" type="file" size="48" class="input"><br>
<input type="text" name="tekst[]" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input type="text" name="tekst[]" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input type="text" name="tekst[]" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input type="text" name="tekst[]" size="48" class="input">
<input type="submit" name="Submit" value="Indsæt">
</form><?php
}else{
echo"Tilsyneladende er filupload ikke tilladt på denne server?<br>\n";
echo"Prøv evt. at fjerne den første if-sætning i denne fil.";
}
?>
Og her er upload.php:
<?
$con = mysql_connect("localhost", "******", "******");
mysql_select_db("******");
mysql_close;
?>
<?php
$stop = "</td>\n</tr></table>\n</center></body></html>";
$dist = $_SERVER["DOCUMENT_ROOT"] ."/pass/upload/";
if(isset($_FILES["upfile"])) {
$str1 = $_FILES["upfile"]["name"];
$str2 = $_FILES["upfile"]["size"];
$str3 = $_FILES["upfile"]["type"];
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "image/x-png");
if ($_FILES["upfile"]["name"] == "") {
echo"Ingen fil blev valgt <a href=\"opret.php\">tilbage</a>";
echo $stop;
exit;
}
if (!in_array($_FILES["upfile"]["type"], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for upload! <a href=\"opret.php\">tilbage</a>";
echo $stop;
exit;
}
if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) {
mysql_query("INSERT INTO `upload` (`tekst`, `billede`) VALUES ('". $_POST["tekst"][$i] ."', '". $_FILES["upfile"]["name"][$i] ."')") or die (mysql_error());
//til brug for info om filtyper
$str1 = $_FILES["upfile"]["name"][$i];
$str2 = $_FILES["upfile"]["size"][$i];
$str3 = $_FILES["upfile"]["type"][$i];
echo "<b>Navn:</b> ". $str1 .", <b> størrelse:</b> ". $str2 ." bytes, <b>filtype:</b> ". $str3 ."<br>\n";
echo"Med teksten, ". $_POST["tekst"][$i] ."<br>\n";
}
}
?>
Når man har valgt nogle billeder, og skrevet noget data ind, og trykker indsæt, kommer man videre og så står der:
Filen kan ikke uploades.
Array er ikke tilladt for upload! tilbage
Og hverken billederne eller data bliver overført.
Hvad er der galt?
