Witam.
Nie wiem czy jestem ostatnio jakiś przemęczony czy co, ale mam problem ze skryptem poniżej. Działa on bez zarzutu jeżeli zamiast zapytania do bazy wstawiam move_uploaded_file, który jest tutaj oznaczony znakiem komentarza. Wtedy w folderze docelowym mam wszystkie pliki które przesłałem z formularza, natomiast jeżeli zamiast tego używam zapytania INSERT żeby wstawiło mi je do tabeli sql, które z kolei czyta z funkcji fopen to już pojawia się problem gdyż wkleja mi tylko jeden plik. Co ja robie nie tak w tym skrypcie?
<?php
foreach($_FILES['userfile']['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$fileName = $_FILES['userfile']['name'][$key];
$tmpName = $_FILES['userfile']['tmp_name'][$key];
$fileSize = $_FILES['userfile']['size'][$key];
$fileType = $_FILES['userfile']['type'][$key];
//move_uploaded_file($tmpName,"upload/$fileName");
//$fileName="upload/$fileName";
$fp = fopen($tmpName, 'r'); $content = fread($fp, $fileSize);
{
}
include 'library/config.php';
include 'library/opendb.php';
$query = "INSERT INTO upload (name, size, type, userval,login,id_klienci, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType','$uzytkownik','$_SESSION[user_db]','$_SESSION[ident]', '$content')";
include 'library/closedb.php';
echo "<br>File $fileName uploaded<br><script>alert('File was uploaded in database'); document.location.href='./download.php';</script>"; }
}
else {
print "<script type='text/javascript' language='javascript'>alert('Wystapil Blad:";
switch($_FILES['userfile']['error'][$key])
{
case UPLOAD_ERR_FORM_SIZE:
echo ("Pzrekroczono maksymalny dozwolony rozmiar pliku!");
break;
case UPLOAD_ERR_PARTIAL:
echo ("Odebrano tylko fragment pliku!");
break;
case UPLOAD_ERR_NO_FILE:
echo ("Plik nie zostal pobrany!"); break;
default:
echo ("Nieznany typ bledu!");
}
print "'); history.back();</script>r"; }
}
}
}
?>