вопрос
Добрый день, вот суть моей проблемы:
Есть код
это для загрузки картинок на сервере: Источник
Выводиться все отлично но у меня на сайте устроено публикация материалов таким образом что мне нужно:
Загрузка Постера - для постера отдельная папка ex: Poster
Загрузка 5 Скриншотов - для них тоже отдельная папка ex: Screenshots
И загрузка файлов - и опять же отдельная папка
С постером и с файлами все отлично но для того чтобы были и скриншоты я продублировал вот этот код и вставил ниже
но он вообще ищет то чего там нету то есть ищет в папке Screenshots картинку которая находиться в папке POSTER
в showfull.php ставлю так:
и также дублирую код для показа скриншотов
P.S хак загружает все файлы по папкам как надо только не выводиться как надо.
Пожалуйста помогите уже нет сил самому не удалось разобраться (плюс + к тому что я чайник в php)
Есть код
$imags_id=1;
$idpost = $row['id'];
while ($imags_id<=1) {
$imags_id++;
$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
if ((isset($_FILES['poster_add_'.$imags_id.'']) && $_FILES['poster_add_'.$imags_id.'']!='')) {
if( ! is_dir( ROOT_DIR . "/uploads/poster/") ) {
@mkdir( ROOT_DIR . "/uploads/poster/");
@chmod( ROOT_DIR . "/uploads/poster/");
@mkdir( ROOT_DIR . "/uploads/poster/");
@chmod( ROOT_DIR . "/uploads/poster/");
}
$config_path_image_upload = ROOT_DIR . "/uploads/poster/" . "/";
$current_image = 'poster_add_'.$imags_id.'';
$image = $_FILES[$current_image]['tmp_name'];
$image_name = $_FILES[$current_image]['name'];
$image_size = $_FILES[$current_image]['size'];
$error_code = $_FILES[$current_image]['error'];
$img_name_arr = explode( ".", $image_name );
$type = totranslit( end( $img_name_arr ) );
if( $image_name != "" ) {
$curr_key = key( $img_name_arr );
unset( $img_name_arr[$curr_key] );
$image_name = totranslit( implode( ".", $img_name_arr ) ) . "." . $type;
}
if ( in_array( strtolower( $type ), $allowed_extensions) ) {
@move_uploaded_file( $image, $config_path_image_upload . $image_name );
if( @file_exists( $config_path_image_upload . $image_name ) ) {
@chmod( $config_path_image_upload . $image_name, 0666 );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '{$member_id[name]}' AND news_id = '$idpost'" );
if( ! $row['count'] ) {
$added_time = time() + ($config['date_adjust'] * 60);
$inserts = FOLDER_PREFIX . "/" . $image_name;
$db->query( "INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '{$member_id[name]}', '$idpost', '$added_time')" );
}
}
}
}
}
это для загрузки картинок на сервере: Источник
Выводиться все отлично но у меня на сайте устроено публикация материалов таким образом что мне нужно:
Загрузка Постера - для постера отдельная папка ex: Poster
Загрузка 5 Скриншотов - для них тоже отдельная папка ex: Screenshots
И загрузка файлов - и опять же отдельная папка
С постером и с файлами все отлично но для того чтобы были и скриншоты я продублировал вот этот код и вставил ниже
$imags_id=0;
$idpost = $row['id'];
while ($imags_id<=5) {
$imags_id++;
$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
if ((isset($_FILES['screenshot_add_'.$imags_id.'']) && $_FILES['screenshot_add_'.$imags_id.'']!='')) {
if( ! is_dir( ROOT_DIR . "/uploads/screenshots/") ) {
@mkdir( ROOT_DIR . "/uploads/screenshots/");
@chmod( ROOT_DIR . "/uploads/screenshots/");
@mkdir( ROOT_DIR . "/uploads/screenshots/");
@chmod( ROOT_DIR . "/uploads/screenshots/");
}
$config_path_image_upload = ROOT_DIR . "/uploads/screenshots/" . "/";
$current_image = 'screenshot_add_'.$imags_id.'';
$image = $_FILES[$current_image]['tmp_name'];
$image_name = $_FILES[$current_image]['name'];
$image_size = $_FILES[$current_image]['size'];
$error_code = $_FILES[$current_image]['error'];
$img_name_arr = explode( ".", $image_name );
$type = totranslit( end( $img_name_arr ) );
if( $image_name != "" ) {
$curr_key = key( $img_name_arr );
unset( $img_name_arr[$curr_key] );
$image_name = totranslit( implode( ".", $img_name_arr ) ) . "." . $type;
}
if ( in_array( strtolower( $type ), $allowed_extensions) ) {
@move_uploaded_file( $image, $config_path_image_upload . $image_name );
if( @file_exists( $config_path_image_upload . $image_name ) ) {
@chmod( $config_path_image_upload . $image_name, 0666 );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '{$member_id[name]}' AND news_id = '$idpost'" );
if( ! $row['count'] ) {
$added_time = time() + ($config['date_adjust'] * 60);
$inserts = FOLDER_PREFIX . "/" . $image_name;
$db->query( "INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '{$member_id[name]}', '$idpost', '$added_time')" );
}
}
}
}
}
но он вообще ищет то чего там нету то есть ищет в папке Screenshots картинку которая находиться в папке POSTER
в showfull.php ставлю так:
$sql_result2 = $db->query( "SELECT images, news_id FROM " . PREFIX . "_images where news_id = '{$row['id']}'" );
$poster = $db->get_row($sql_result2);
if ($poster['images'] != "") {
$scrsList = explode('|||',$poster['images']);
$scrs = '';
$cntscrs = count($scrsList);
$ai = 0;
foreach ($scrsList as $scr)
{
$ai++;
$scr = trim($scr);
$poster_temp = explode("/",$scr);
$poster_name = $poster_temp[1];
$scrs = ''. $config ['http_home_url'] . 'uploads/poster/'.$poster_name.'';
$tpl->set ( '{poster'.$ai.'}', $scrs);
if ($ai<$cntscrs) $scrs .= '';
if ($ai=="1") break;
}
unset($scrsList);
}else {
$ai=0;
while ($ai<1){
$ai++;
$tpl->set ( '{poster'.$ai.'}', "");
}
и также дублирую код для показа скриншотов
P.S хак загружает все файлы по папкам как надо только не выводиться как надо.
Пожалуйста помогите уже нет сил самому не удалось разобраться (плюс + к тому что я чайник в php)