2100000){ throw new Exception("Размер файла превышает максимально допустимый (2Мб)",E_ERROR); } //Проверяем на соответствие расширения файла допустимому $extension = explode(".",$_FILES["photo"]["name"]); $extension = $extension[1]; $acceptable_extension = array("gif","bmp","jpg","png","jpeg"); if(!in_array($extension,$acceptable_extension)){ throw new Exception("Изображение должно быть в формате gif, bmp, jpg/jpeg или png.",E_ERROR); } //Скопировали файл во временное место хранения move_uploaded_file($_FILES["photo"]["tmp_name"], "../../uploaded/".$_FILES["photo"]["name"]); //Создаем и аутентифицируем пользователя Яндекс.Фоток $photo = new yandex_fotki("MojoElephant","пароль"); //Получили коллекцию фотографий пользователя $photo->user()->add_photo_collection("Слонофотки"); //Представление фотографии для метода загрузки $new_photo = array( "path"=>"../../uploaded/".$_FILES["photo"]["name"] ); //Добавили новую фотографию в коллекцию и получаем ID загруженной фотографии $result = $photo->user()->photo_collection("Слонофотки")->up($new_photo); //Если честно, последние несколько строк можно заменить всего одной. Но это немного менее наглядно. //$result = $photo->user()->add_photo_collection("Слонофотки")->up(array("path"=>"../../uploaded/".$_FILES["photo"]["name"])); //Создаем сообщение для скрипта вывода. Если он найдет его, то выведет ссылки на загруженный файл. $status = new status_message("ID свежезагруженной фотографии",$result["image_id"]); //Инициируем работу кэша $cache = new cache("../../cache/"); //Удаляем кешированую галерею $cache->remove("Галерея"); //Удаляем файл unlink("../../uploaded/".$_FILES["photo"]["name"]); //Возвращаемся на предидущую страничку header("location:http://code.websaints.net/example.html", true, 303); die(); //Отлавливаем и выводим ошибки function err_overwork($error){ //Удаляем присланный файл, если он был скопирован в директорий временного хранения if(file_exists("../../uploaded/".$_FILES["photo"]["name"])){ unlink("../../uploaded/".$_FILES["photo"]["name"]); } //Выводим страничку с ошибкой $template_controller = new template_class("Ошибка","../../templates/error.html"); $template_controller->point("Точки ввода"); $template_controller->plug("Точки ввода","Имя файла","Имя файла",$error->getFile()); $template_controller->plug("Точки ввода","Строка","Строка",$error->getLine()); $template_controller->plug("Точки ввода","Текст ошибки","Текст ошибки",htmlspecialchars($error->getMessage(),ENT_COMPAT,"UTF-8")); die($template_controller->render()); } ?>