Некорректное выполнение скрипта

 
0
 
JavaScript
ava
Shark | 11.11.2011, 13:36
есть код загрузки файлов:

<html>
<head>
<title>Ajax File Uploader by SpirITzzz</title>
<LINK href=../style/style.css type=text/css rel=STYLESHEET>
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="js/jquery.MultiFile.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript" src="js/jquery.blockUI.js"></script>

<script type="text/javascript">
$(document).ready(function(){

$('.MultiFile').MultiFile({
accept:'jpg|gif|bmp|png|rar', max:15, STRING: {
remove:'Удалить',
file:'$file',
selected:'Выбраны: $file',
denied:'Неверный тип файла: $ext!',
duplicate:'Этот файл уже выбран:\n$file!'
}
});

$("#loading").ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});


$('#uploadForm').ajaxForm({
beforeSubmit: function(a,f,o) {
o.dataType = "html";
$('#uploadOutput').html('Submitting...');
},
success: function(data) {
var $out = $('#uploadOutput');
$out.html('Form success handler received: <strong>' + typeof data + '</strong>');
if (typeof data == 'object' && data.nodeType)
data = elementToString(data.documentElement, true);
else if (typeof data == 'object')
data = objToString(data);
$out.append('<div><pre>'+ data +'</pre></div>');
$('.MultiFile').val();
}
});
});
</script>
</head>

<body>
<form id="uploadForm" action="doajaxfileupload.php" method="post" enctype="multipart/form-data">
<input name="MAX_FILE_SIZE" type="hidden"/>
File: <input name="fileToUpload[]" id="fileToUpload" class="MultiFile" type="file"/>
<br />
Mess: <input type=text name=txt />
<input value="Submit" type="submit"/>
</form>
<img id="loading" src="loading.gif" style="display:none;"/>
<div id="uploadOutput"></div>
</body>
</html>


код обработчик:

<?php
include "conf.php";
$msg = "";
$fileElementName = 'fileToUpload';
$i = 0;
$files_count = sizeof($_FILES[$fileElementName]["name"]);

for ($i = 0; $i < $files_count-1; $i++) {
if(!empty($_FILES[$fileElementName]['error'][$i]))
{
switch($_FILES[$fileElementName]['error'][$i])
{

case '1':
$msg = 'размер загруженного файла превышает размер установленный параметром upload_max_filesize в php.ini ';
break;
case '2':
$msg = 'размер загруженного файла превышает размер установленный параметром MAX_FILE_SIZE в HTML форме. ';
break;
case '3':
$msg = 'загружена только часть файла ';
break;
case '4':
$msg = 'файл не был загружен (Пользователь в форме указал неверный путь к файлу). ';
break;
case '6':
$msg = 'неверная временная дирректория';
break;
case '7':
$msg = 'ошибка записи файла на диск';
break;
case '8':
$msg = 'загрузка файла прервана';
break;
case '999':
default:
$msg = 'No error code avaiable';
}
}
elseif(empty($_FILES[$fileElementName]['name']) )
{
$msg = 'No file was uploaded..';
}else
{
if (file_exists("../mini/gallery/" . $_FILES[$fileElementName]['name'][$i])){
$msg = "<font color=#FFFFFF>Файл ".$_FILES[$fileElementName]['name'][$i] . " </font><font color=#FF0000>уже существует.</font> ";
}
else{
$msg = "<font color=#0f6c00>Файл ".$_FILES[$fileElementName]['name'][$i]." </font>загружен. Посмотреть можно <a href=../mini/gallery/".$_FILES[$fileElementName]['name'][$i]." target=_blank> >> тут << </a><br />";
move_uploaded_file($_FILES[$fileElementName]['tmp_name'][$i], "../mini/gallery/" . $_FILES[$fileElementName]['name'][$i]);
mysql_query("INSERT INTO qwerty VALUE(0, '".$_FILES[$fileElementName]["name"][$i]."', '".$_POST['txt']."') ") or die ("ERROR");
}
//for security reason, we force to remove all uploaded file
@unlink($_FILES[$fileElementName][$i]);
}
echo "Внимание: ".$msg."\n";
}
?>


если поле <input type=file> оставить пустым, то появляется белый экран с рекомендацией апача, (как вкл/выкл отображения ошибок).. и больше ничего, при просмотре кода страницы, в коде все выводится (т.е. то, что доложен видеть пользователь)...

некорректно срабатывает эта часть:

elseif(empty($_FILES[$fileElementName]['name']) )
{
$msg = 'No file was uploaded..';
}

Kommentare (2)
ava
ayax2005 | 15.11.2011, 11:31 #
чувствую echo "Внимание: $msg\n"; не на месте. Преверьте расстановку скобок.
ava
Shark | 16.11.2011, 15:04 #
спс, я просто переписал код, и все работает.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  Shark ava  ayax2005
advanced
Absenden