Добрый день "юнные" програмисты. 2 дня бъюсь над ошибкой: Код (Text): Warning: copy() [function.copy]: Filename cannot be empty in C:\home\test1.ru\www\upload.php on line 16 Не получается заливать большие файлы. Маленькие он еще почему-то льет. Стоит денвер под виндосом. последний. в чем ошибка? я все уже перепробовал. :roll: Форма: PHP: <? $date_today = date("Y-m-d"); if($_SESSION['name']) { $result = mysql_query("SELECT * FROM categories"); $dwi = mysql_fetch_assoc($result); echo '<form action="/index.php?upload" enctype="multipart/form-data" method="post" > <div><input name="title" type="text" /></div> <div><input name="date" type="hidden" value="'.$date_today.'" /></div> <div><input name="author" type="hidden" value="'.$_SESSION['name'].'" /></div> <div><textarea name="text" id="text" rows="5" cols="40"></textarea> <input type="hidden" name="MAX_FILE_SIZE" value="300000" /> <div>Файл <input type="file" name="filename[]" /></div> <div>Скриншот <input type="file" name="filename[]" /></div> <div><select name="category">'; do {printf("<option value=\"%s\">%s</option>",$dwi['id'],$dwi['category']);} while($dwi = mysql_fetch_assoc($result)); echo '</select></div> <input type="submit" name="submit" value="Отправить" /> </form>'; //if($_POST['submit']) { //} //Проверка на самбит } else {echo 'Добавлять файлы могут только пользователи сайта.';} ?> Обработчик PHP: <?php $title = $_POST['title']; $date = $_POST['date']; $author = $_POST['author']; $text = $_POST['text']; $category = $_POST['category']; $dir = $_SERVER['DOCUMENT_ROOT']."/upload/files/"; if($_FILES["filename"]["name"][0] && $_FILES["filename"]["name"][1]) { // if($_FILES["filename"]["type"][0] == "application/x-tar" || $_FILES["filename"]["type"][0] == "application/x-zip-compressed") { if ($_FILES["filename"]["type"][1] == "image/jpeg") { if ($title) { if ($text) { if(copy($_FILES["filename"]["tmp_name"][0], $_SERVER['DOCUMENT_ROOT']."/upload/files/".$_FILES["filename"]["name"][0])) { $filedir ="/upload/files/".$_FILES["filename"]["name"][0]; $filesize = $_FILES["filename"]["size"][0]; $copy = copy($_FILES["filename"]["tmp_name"][1],$_SERVER['DOCUMENT_ROOT']."/upload/img/".$_FILES["filename"]["name"][1]); $imgdir ="/upload/img/".$_FILES["filename"]["name"][1]; $res = mysql_query ("INSERT INTO news (title,text,date,author,category,filename,img,size) VALUES ('$title','$text','$date','$author','$category','$filedir','$imgdir','$filesize')"); echo 'Файл добавлен в базу!'; } }else {echo 'Вы не указали текст новости!';} }else {echo 'Вы не указали заголовок!';} } else {echo 'Запрещенный тип картинки!';} //} else {echo 'Зпрещенный тип файла!';} } else {echo 'Файл или изображение не были выбраны.';} ?>
потому, что надо смотреть еще ['error'] http://ru2.php.net/manual/en/features.f ... method.php http://ru2.php.net/manual/en/features.f ... errors.php
Код (Text): if($_FILES["filename"]["tmp_name"][0]) {$tmp = $_FILES["filename"]["tmp_name"][0];} else {echo $_FILES["filename"]["error"][0] ;} if(copy($tmp, $_SERVER['DOCUMENT_ROOT']."/upload/files/".$_FILES["filename"]["name"][0])) ответ просто цифра 2 если я прально понял то: Код (Text): Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. строчка из php.ini Код (Text): upload_max_filesize = 40M лью файл 800 кб.
ахаха, черт, вот я дурак нашел ошибку: снес просто строку Код (Text): <input type="hidden" name="MAX_FILE_SIZE" value="3000000" /> тему можно закрыть!
я ж тебе ссылку дал, специально UPLOAD_ERR_FORM_SIZE Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form. там все РАСПИСАНО. все, что надо, ПРОЧИТАТЬ.