В общем 4 день подряд решаю траблу с со своей библиотекой, писал еще на одном известном форуме о php (русском) там то же не знают что такое, ии еще на нескольких форумах вообще молчат... при загрузке файла видел индикатор "Загрузка" и проценты прогресса в браузере (mozilla) когда доходит до 100 выдает белую страницу, как видите дебаг стоит но ошибок не выводит... вот код формы: HTML: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" media="all" href="style.css"> </head> <body> <table width="100%" height="100%"><tr valign="center"><td align="center" nowrap><div id="upload"> <?php ini_set('display_errors',1); error_reporting(E_ALL); echo 'Выберите файл | Максимальный размер 10 MB | Запрещенно заливать исполняемые файлы<br><br>'; echo '<form enctype="multipart/form-data" action="lib/lib.upload.php" method="post">'; echo '<input type="file" name="filename" size="45">'; echo '<input type="submit" value=" Грузить! " name="upload">'; echo '</form>'; ?> </body> </html> и код библиотеки: PHP: <?php error_reporting(E_ALL | E_STRICT); ini_set("display_errors", True); $upload_dir = '/uploads'; $upload_path = dirname (__FILE__).$upload_dir; $upload_filename = basename($_FILES["filename"]["name"]); $upload_link = "http://".$_SERVER["HTTP_HOST"].dirname ($_SERVER ["PHP_SELF"]).$upload_dir.$upload_filename; function upload_file($max_size=3145728) { global $upload_path, $upload_filename, $upload_dir, $upload_link; if ($_FILES) { switch ($_FILES['filename']['type']) { case 'image/jpeg': $ext='jpg'; break; case 'image/pjpeg': $ext='jpg'; break; case 'image/png': $ext='png'; break; case 'application/pdf': $ext='pdf'; break; case 'application/x-bzip2': $ext='bz2'; break; case 'application/x-gzip': $ext='gz'; break; case 'application/x-tar': $ext='tar gz'; break; case 'application/x-troff-man': $ext='man'; break; case 'application/zip': $ext='zip'; break; case 'audio/mpeg': $ext='mp3'; break; default: $ext=''; } if ($ext == true && $_FILES['filename']['size'] <= $max_size) { /*$file=time().'.'.$ext;*/ $m=move_uploaded_file($_FILES['filename']['tmp_name'], /*TE_DIR.'/upload/'*/$upload_dir.$upload_filename); if ($m){ $mes='Файл загружен.'; echo "Линки:<br>"; echo "<input type='text' size=80 onclick='this.select()' value='".$upload_link."'><br><br>"; echo "HTML Линк:<br>"; echo "<input type='text' size=80 onclick='this.select()' value=\"<a href='".$upload_link."'>".$upload_link."</a>\"><br><br>"; echo "BB-Code Линк:<br>"; echo "<input type='text' size=80 onclick='this.select()' value='[url]".$upload_link."[/url]'><br><br>"; echo "<a href='?".md5(microtime())."'>Загрузить другой файл</a>"; } } elseif(!$m) { $mes='Ошибка. Возможно не хватает прав доступа.'; } else { $mes='Ошибка. Тип файла не поддерживается или его размер больше допустимого.'; } return $mes; } } ?>
1. Ошибок не выдает, потому что нет вызова основной функции. 2. Нет проверки состояния загруженного файла $_FILES['filename']['error']
решил вот так: PHP: <?php error_reporting(E_ALL | E_STRICT); ini_set("display_errors", True); $upload_dir = '/uploads/'; $upload_path = dirname (__FILE__).$upload_dir; $upload_filename = basename($_FILES["filename"]["name"]); $upload_link = "http://".$_SERVER["HTTP_HOST"].dirname ($_SERVER ["PHP_SELF"]).$upload_dir.$upload_filename; $m=move_uploaded_file($_FILES['filename']['tmp_name'], /*TE_DIR.'/upload/'*/$upload_path.$upload_filename); function upload_file($max_size=3145728) { global $upload_path, $upload_filename, $upload_dir, $upload_link, $m; if ($_FILES) { switch ($_FILES['filename']['type']) // Проверка типа файла { case 'image/jpeg': $ext='jpg'; break; case 'image/pjpeg': $ext='jpg'; break; case 'image/png': $ext='png'; break; case 'application/pdf': $ext='pdf'; break; case 'application/x-bzip2':$ext='bz2'; break; case 'application/x-gzip': $ext='gz'; break; case 'application/x-tar': $ext='tar gz'; break; case 'application/x-troff-man':$ext='man'; break; case 'application/zip': $ext='zip'; break; case 'audio/mpeg': $ext='mp3'; break; default: $ext=''; } if ($ext == true && $_FILES['filename']['size'] <= $max_size) { if ($m) { echo "Файл загружен."; echo "Линки:<br>"; echo "<input type='text' size=80 onclick='this.select()' value='".$upload_link."'><br><br>"; echo "HTML Линк:<br>"; echo "<input type='text' size=80 onclick='this.select()' value=\"<a href='".$upload_link."'>".$upload_link."</a>\"><br><br>"; echo "BB-Code Линк:<br>"; echo "<input type='text' size=80 onclick='this.select()' value='[url]".$upload_link."[/url]'><br><br>"; echo "<a href='../index.php?".md5(microtime())."'>Загрузить другой файл</a>"; } else { echo "Ошибка. Возможно не хватает прав доступа."; } } else { echo "Не разрешенный тип файла или слишком большой размер файла"; } /*print_r($mes);*/ } } upload_file(); ?>