Код (Text): //Разришенные форматы $allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif'); //Получаем данные о фотографии $image_tmp = $_FILES['uploadfile']['tmp_name']; $image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии $image_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла //Проверям если, формат верный то пропускаем if(in_array($type, $allowed_files)){ $config['max_photo_size'] = $config['max_photo_size'] * 1000; if($image_size < $config['max_photo_size']){ $res_type = strtolower('.'.$type); if(move_uploaded_file($image_tmp, $photo_dir.$image_rename.$res_type)) { //Создание оригинала $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto(800); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'main_photo_'.$image_rename.$res_type); //Создание главной фотографии 200x200 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'200_'.$image_rename.$res_type); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('50x50'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'50_'.$image_rename.$res_type); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('100x100'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'100_'.$image_rename.$res_type); $image_rename = $db->safesql($image_rename); $res_type = $db->safesql($res_type); //Добавляем на стену $row = $db->super_query("SELECT sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); if($row['sex'] == 2) $sex_text = 'Сменила'; else $sex_text = 'Сменил'; $wall_text = "<div class=\"profile_update_photo\"> <a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$image_rename}{$res_type}\'); return false\"> <img src=\"/uploads/users/{$user_id}/photo/main_photo_{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a> <img src=\"/uploads/users/{$user_id}/photo/main_photo_{$image_rename}{$res_type}\" style=\"margin-top:3px\"> </div>"; //Обновляем имя фотки в бд $db->query("UPDATE `".PREFIX."_users` SET pred_avatar = '{$image_rename}{$res_type}', wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); сам скрипт выводит новые фото, как сделать чтоб записывались предыдущие фотки в бд и выводились? Добавлено спустя 27 минут 12 секунд: вообще не пойму как это реализовать(
наоборот. что тут сложного? текущее фото лежит в каталоге, а в БД лежит только имя фотки. загрузили новое фото, старое переместили в каталог другой, в архив. в БД пометили его как архивное. и все. что конкретно вы незнаете как сделать?
runcore у меня имеется папка st -там будут хранится старые файлы, в бд создал строку pred_avatar varchar 90, я не знаю как на php написать чтоб старые фотографии добавлялись в строчку pred_avatar, как это сделать? Добавлено спустя 19 минут 26 секунд: а тут такие же будут переменные {$image_rename}{$res_type} для старых фоток? Добавлено спустя 14 минут 53 секунды: или так будет? $image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии новой $image_st = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии старой Добавлено спустя 23 минуты 40 секунд: вот сделал чтоб создавались 2 каталога в каталоге photo хранятся новые фотки, в каталоге st хранятся старые фотки, ниже скрипт PHP: //Директория юзеров $uploaddir = ROOT_DIR.'/uploads/users/'; //Если нет папок юзера, то создаём её if(!is_dir($uploaddir.$user_id)){ @mkdir($uploaddir.$user_id, 0777 ); @chmod($uploaddir.$user_id, 0777 ); @mkdir($uploaddir.$user_id.'/photo', 0777 ); @chmod($uploaddir.$user_id.'/photo', 0777 ); } //Если нет папки фото, то создаём её $photo_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/photo/'; if(!is_dir($photo_dir)){ @mkdir($photo_dir, 0777); @chmod($photo_dir, 0777); } //Директория юзеров $uploaddir = ROOT_DIR.'/uploads/users/photo/'; //Если нет папок юзера, то создаём её if(!is_dir($uploaddir.$user_id)){ @mkdir($uploaddir.$user_id, 0777 ); @chmod($uploaddir.$user_id, 0777 ); @mkdir($uploaddir.$user_id.'/st', 0777 ); @chmod($uploaddir.$user_id.'/st', 0777 ); } //Если нет папки фото, то создаём её $st_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/photo/st/'; if(!is_dir($st_dir)){ @mkdir($st_dir, 0777); @chmod($st_dir, 0777); } дальше у меня идет создания получения данных о фоток //Получаем данные о фотографии $image_tmp = $_FILES['uploadfile']['tmp_name']; $image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии новой $image_st = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии старой $image_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла имя новых фоток у меня обозначено $image_rename, а старых фоток я обозначил $image_st затем идет создания фоток if(move_uploaded_file($image_tmp, $photo_dir.$image_rename.$res_type)) { //Создание оригинала $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto(800); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'main_photo_'.$image_rename.$res_type); //Создание главной фотографии 200x200 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'200_'.$image_rename.$res_type); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('50x50'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'50_'.$image_rename.$res_type); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($photo_dir.$image_rename.$res_type); $tmb->size_auto('100x100'); $tmb->jpeg_quality(100); $tmb->save($photo_dir.'100_'.$image_rename.$res_type); $image_rename = $db->safesql($image_rename); $res_type = $db->safesql($res_type); фотки все сохранились у нас в каталоге фото затем выводим информацию на стену, а именно выводим наше новое фото $wall_text = "<div class=\"profile_update_photo\"> <a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$image_rename}{$res_type}\'); return false\"> <img src=\"/uploads/users/{$user_id}/photo/main_photo_{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a> </div>"; и обновляем имя нашей фотки в базу данных $db->query("UPDATE `".PREFIX."_users` SET avatar = '{$image_rename}{$res_type}', wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); а как сделать чтоб выводились старые фотки из каталога st? и чтоб старые фотки сохранялись в базе данных в строчке pred_avatar?
А вы по-русски, по шагам, напишите, что вы хотите сделать, тогда и на php сможете. Ален Голуб в своей книге "Правила программирования на C/C++" сказал: "если вы не можете выразить что-то на человеческом языке, не сможете и на C++".