我發誓這個腳本昨晚工作得很好,但今天無法讓它工作。它並沒有進入foreach循環,但我不知道爲什麼。即使我選擇一個文件並單擊提交,$ _FILES數組也是null。PHP沒有進入foreach循環
基本上這個腳本有一個文件輸入標籤,並使用jQuery,如果用戶選擇一個文件,它會添加另一個文件輸入標籤。當點擊提交按鈕時,調用PHP。
<?php
//used for firePHP
include('PHP/FirePHPCore/fb.php');
ob_start();
$success = false;
$error = "";
$allowable_types = array(
'image/jpeg',
'image/pjpeg',
'image/jpg',
'image/jpe',
'image/gif',
'image/png'
);
#################################################################
//NOT GETTING INSIDE THE FOREACH LOOP. $_FILES array is always null
##################################################################
//loops through the files that the user has chosen to be uploaded them and moves them to the Images/uploaded folder
foreach($_FILES as $key => $value) {
if(!empty($_FILES[$key])) {
if($_FILES[$key]['error'] == 0) {
if(in_array($_FILES[$key]['type'], $allowable_types) && ($_FILES[$key]['size'] < 5000000)) {
if(!file_exists("Images/uploaded/".$_FILES[$key]['name'])) {
move_uploaded_file($_FILES[$key]['tmp_name'], "Images/uploaded/".$_FILES[$key]['name']);
$success = true;
} else {
$error = "<h3 class=\"bad\">At least one of the files already exists</h3>";
}
} else {
$error = "<h3 class=\"bad\">At least one of the files you've selected is either too large or not the correct file type</h3>";
}
} elseif($_FILES[$key]['error'] == 4) {
} else {
$error = "<h3 class=\"bad\">An error occurred while trying to upload one of the files</h3>";
}
} else {
$error = "<h3 class=\"bad\">You need to select a file</h3>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="1205">
<link rel="stylesheet" type="text/css" href="CSS/reset.css" />
<link rel="stylesheet" type="text/css" href="CSS/uploadFile.css" />
<link rel="stylesheet" type="text/css" href="CSS/galleria.css" />
<script type="text/ecmascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="JS/galleria.jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var i = 1;
//gives the first li the class .active so that it shows the large version as if it's been clicked.
//-- used for the gallery page
$('#content ul.gallery li:first-child').addClass('active');
//fades the links on hover -- used for the nav links
$('#header ul li a').hover(function() {
$(this).fadeTo(300, 0.3);
},function() {
$(this).fadeTo(300, 1);
});
$('input:file:last').live('change',function() {
var file = $(this).val();
if(file !== null && file !== "") {
if(i < 6) {
$(this).after("<input type=\"file\" name=\"uploadedFile"+i+"\" value=\"\" />");
i++;
}
}
});
});
</script>
<meta name="keywords" content="Steph Mcclisch Photography Portfolio Pictures" />
<title>Steph McClish Photography</title>
</head>
<body>
<div id="floater"></div>
<div id="wrapper">
<div id="content">
<?php
if($success) {
echo "<h3 class=\"good\">Files Uploaded Successfully!</h3>";
} elseif ($error) {
echo $error;
}
?>
<h4>Choose the files to be uploaded</h4>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<input type="file" name="uploadedFile0" value="" />
<button type="submit" name="login">Submit</button>
</form>
<h5><a href="PHP/Manage.php">Manage Files/Folders</a></h5>
</div>
</div>
</body>
</html>
接受這個答案是正確的,如果這是解決方案。 – 2010-03-05 05:56:13
你不能接受你自己的答案2天。 – Catfish 2010-03-05 15:18:22