我遇到以下問題。我使用帶有四個經過驗證的文本輸入字段(不允許爲空)的輸入表單,並在同一表單下使用三個文件輸入字段。當我嘗試上傳尺寸較小的圖像時,一切正常。但是,當我選擇一個較大的圖片時,如1MB左右,即使填充了文字輸入字段,我也會得到驗證錯誤。圖片上傳錯誤
$ime = mysql_real_escape_string($_POST['ime']);
$mesto = mysql_real_escape_string($_POST['mesto']);
$telefon = mysql_real_escape_string($_POST['telefon']);
$emajl = mysql_real_escape_string($_POST['emajl']);
$opis = mysql_real_escape_string($_POST['opis']);
if ((empty($ime)) || (empty($mesto)) || (empty($telefon)) || (empty($emajl))){echo "Moraju biti uneti podaci u obavezna polja"; exit;}
//unos slike1
if ((($_FILES["slika1"]["type"] == "image/gif")
|| ($_FILES["slika1"]["type"] == "image/jpeg")
|| ($_FILES["slika1"]["type"] == "image/jpg")
|| ($_FILES["slika1"]["type"] == "image/pjpeg")
|| ($_FILES["slika1"]["type"] == "image/x-png")
|| ($_FILES["slika1"]["type"] == "image/png"))
&& ($_FILES["slika1"]["size"] < 2097152))
{
if ($_FILES["slika1"]["error"] > 0)
{
echo "Greška: " . $_FILES["slika1"]["error"] . "<br>";
}
else
{
$razdvajanje = explode('.',$_FILES['slika1']['name']);
$ekstenzija = $razdvajanje[1];
$novoime = mysql_real_escape_string($razdvajanje[0]).'_'.time();
$putanja = 'uploads/' . $novoime . "." . $ekstenzija;
move_uploaded_file($_FILES['slika1']['tmp_name'], $putanja);
}
}
else
{
echo "Slika mora biti manja od 2MB i u adekvatnom formatu";
我得到的錯誤是「Moraju biti uneti podaci u obavezna polja」,即使該字段不是空的。當我嘗試上傳一個較大的圖像時,它也可以工作。當我嘗試同時上傳三個1MB圖像時,這隻會無法正常工作。
只是要清楚。腳本正在使用localhost(XAMPP)。我在上傳到我的虛擬主機服務器時遇到問題。另外,當我上傳大約300kb的3個圖像文件時,該腳本正在工作,但是當我嘗試上傳3個大小約爲1MB的文件時,該過程失敗的時間大約爲60%。我認爲這個問題不大,但在上傳時間。
不行。 –
我已經更新了答案。也許你需要設置最大文件上傳。確保它在別的之前運行 –