Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 3 из 64<  1  2  3  4  5  6 ... 64  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
ElMory писал(а):
_Psih
не правильно понял. мне нужно, чтобы статьи с hight=1 были всегда наверху независимо от даты.query = "SELECT id,name,comment,rating,upd,hight FROM news ORDER BY upd DESC LIMIT $p,10"; - это только по дате.

введи дополнительное поле, в котором будет зранится признак, закрепленна ли новость, и если да, то записывай там 1, в противном случае 0. А потом сортируй сперва по этому полю, а потом по upd



Партнер
 

Member
Статус: Не в сети
Регистрация: 27.07.2005
_Psih
ок. у меня очередной вопрос.
к каждой моей статье хочу добавить от 1 до 10 скриншотов.
создать в базе новости дополнительных 10!!! столбцов с форматом каждого изображение или в 1 разделяя черточкой |
потом выводить их как n(news)1(id)_7(порядковый номер).($base[photo7] - формат из базы) тоесть n1_7.jpg
или как грамотней?


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
Зачем? Делаем всё просто и без базы данных.
Делаем специальную папку в корне сайта screenshots или как нить так называем.
В ней создаём структуру папок, сперва деление по годам, потом по месяцам. Если новостей много, можно ещё по неделям или дням делить. В них для каждой новости создаём папку где имя папки - ID новости в базе. А туда уж пихаем скриншоты. При ввыводе просто проверяем есть ли такая папка и есть ли в ней .jpg , .png или .gif фаилы. Если есть, выводим их :)


 

Member
Статус: Не в сети
Регистрация: 27.07.2005
_Psih
:) Cool...
Итак мои мысли и вопросы.
Создавать папку, если не ошибаюсь, mkdir("Scrinshots/$GET[id]"); (по id).
далее копируев в нее скриншот:

$path=GetCWD()."/../../$GET[id]/";
$size=GetImageSize("$image");
if ($_FILES['photo']['size']>15360) {$_SESSION[photoerror]="Ваша картинка не может превышать 15 кб";}
elseif ($size[0]>110) {$_SESSION[photoerror]="Ширина вашей картинки должна быть в пределах от 1 до 110 пикселей";}
elseif ($size[1]>130) {$_SESSION[photoerror]="Длинна вашей картинки не может превышать 130 пикселей";}
elseif (!$size[2]=1 || !$size[2]=2 || !$size[2]=3) {$_SESSION[photoerror]="Вы можите использовать только изображения форматов JPG,GIF иди PNG";}
elseif (is_uploaded_file($_FILES['image']['tmp_name']) && ($size[2]==1 || $size[2]==2 || $size[2]==3))
{
if ($size[2]=1) {$form=gif;} elseif ($size[2]=2) {$form=jpg;} elseif ($size[2]=3) {$form=png;};
copy($_FILES['image']['tmp_name'],$path.$nickname.".$form");
$query ="update login set photo='$form' where nickname='$nickname'";$result = mysql_query($query);
$_SESSION[photoerror]="<div class=nn>Ваша картинка успешно добавленна</div>";};
};

Если не трудно не мог бы ты изучить скрипт и выделить ошибки (он работает, но вдруг я чт-то не так сделала)
+ если у меня 10 скринов, то операцию проводить в цикле for($i=0;$i<11;$i++){ ... }; ???

Не можешь подсказать, как проверять наличие каталога и вывода скриншотов (простой скрипт).
Мне это очень важно и если тебя не затруднит буду бесконечно благодарна...


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
вопервых, создание папки делается подругому. Ты вставляешь новость в таблицу, и сразу после этого делаешь $id = mysql_insert_id();, получаешь ID новости и создаёшь папку mkdir('screenshots/'.$id);
getcwd() не обязателен, надеюсь что такое относительные пути ты знаешь :) Копируешь в созданую папку скриншоты.

вывод скриншотов можно сделать ещё проще, без цикла. Тобишь вот так:
получаем ID новости, и проверяем существование папки
Код:
if (file_exists('screenshots/'.$dir_id))
{
  $dir = opendir('screenshots/'.$dir_id);
  while ($file = readdir($dir))   // в $file мы получаем имя текущего фаила
  {
    if ($file == '.' || $file == '..') continue; // пропускаем ссылки на папку что выше по структуре, и на текущую папку
    if (!getimagesize('screenshots/'.$dir_id.'/'.$file)) continue; // пропускаем фаил, т.к. это не картинка вообще
    $image_array[] = $file;
  }
}

В итоге мы получили масив $image_array в котором содержится то кол-во имён фаилов с картинками, которое есть в конкретной папке. Картинок может быть хоть 1, хоть 10000 =] Никакой разницы.


 

Member
Статус: Не в сети
Регистрация: 27.07.2005
_Psih
у меня нет слов... веть я эти функции знала... но забыла!
1. Знаешь ли ты азы JS?
2. Зашла на твой сайт. У меня появился вопрос по хостингу.
Не мог бы ты подсказать место, где можно бесплатно получить 1 мb (знаю человека, который предлагал 700, но разве сейчас его найдешь...).
Из личного опыта: как мне перебросить на хостинг имеющиеся базы с тавлицами? Делать на сайте скрипт который их создаст или как? И как администратируют сайт? Захотела обновить код - мне можно будет зайти как на ftp или как сейчас делают?
+ как делать сылки на сайте. типа localhost/home.html - будут работать или все как Home.html | ../News.html???
+ могу назвать базу как захочу?
+ Где тогда будут размещать настройки по Человеко понятный урл? Не в конфиге же апача.
В .htaccess. Возникает вопрос, как его создать (с точкой впереди) ???

Добавлено спустя 3 часа, 37 минут, 59 секунд:
И еще вопрос, не знаешь как в JS сделать, чтобы при наведении на ссылочку рядом с ней подсвечивалось описание.

<a href=# onmouseover='act();'>Ссылка</a>

<script language=javascript>
function act(name)
{document.writeln("подсказка");};
</script>
И было:
ДО:
ССылка
После:
Ссылка Подсказка


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
JS более-менее знаю. Если честно, я просто находу читаю и делаю что надо, т.к. учить всё сразу нету никакого толку :)
Базу закинуть самое удобное через phpMyAdmin
Обновление и вообще перекидывание фаилов есественно FTP, ничё удобнее ещё не придумали :)
создаёшь фаил с именем .htaccess и всё. Если в конфе apache стоит что считывать .htaccess, то всё сделается что надо :)
Человекопонятный урл врубается дериктивой
RewriteEngine on
RewriteRule здесь_надо_составить_регулярное_выражение_по_которому_идёт_перенаправление_на_определённый_скрипт

По поводу подсказки, я бы просто сделал рядом ячейку таблицы, и в неё динамически вписывал текст, а потом убирал. Можно ещё с плавающими <div> сделать. Я такое особо не делал, небыло надобности.


 

Member
Статус: Не в сети
Регистрация: 27.07.2005
_Psih
Так как создать .htaccess ?? Перед точкой ведь должно быть что-либо?
+ <input type=file name=file>
Как определить при нажатии на submit было ли что-то введено в FILE
<?
$a=$_POST['file'];
if (empty($a)) {...
?>
Проблема в том, что всегда empty.


 

Advanced member
Статус: Не в сети
Регистрация: 13.11.2002
Откуда: msk.ru
ElMory
Как обычно - читаем официальный мануал. В нем аж целая глава, посвященная загрузке файлов.

_________________
Поддержка phpBB на русском языке - теперь официально!


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
ElMory писал(а):
_Psih
Так как создать .htaccess ?? Перед точкой ведь должно быть что-либо?
+ <input type=file name=file>
Как определить при нажатии на submit было ли что-то введено в FILE
<?
$a=$_POST['file'];
if (empty($a)) {...
?>
Проблема в том, что всегда empty.


.htacces, без всяких символов до точки.

Конечно будет пусто, для этого используется масив $_FILES, подробнее тут: http://www.php.net/manual/ru/features.file-upload.php - более лучшего описания не найти :)


 

Advanced member
Статус: Не в сети
Регистрация: 13.11.2002
Откуда: msk.ru
_Psih
.htaccess
Забыл последнюю букву.

_________________
Поддержка phpBB на русском языке - теперь официально!


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
Юрий писал(а):
_Psih
.htaccess
Забыл последнюю букву.

Бывает :)

З.Ы. Что-то скучный топ получается.. 2 человека всего помимо меня...


 

Member
Статус: Не в сети
Регистрация: 27.07.2005
Цитата:
З.Ы. Что-то скучный топ получается.. 2 человека всего помимо меня..

видно все все знают...


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
Просто хорошие РНР программисты тут не тусуются, а по сто раз пересказывать новичкам то что есть в мануале мне лень...

Но если скучно можем обсудить например мою замену функции ob_gzhandler() (и выясним что ещё добавить а что убавить)
Код:
<?php
function output_handler($html) {
   $accept = $_SERVER['HTTP_ACCEPT_ENCODING'];
   if (strpos($accept, 'deflate') !== false) {
      $content = gzdeflate($html, 9);
      header('Content-encoding: deflate');
   } elseif (strpos($accept,'gzip') !== false) {
      $content = gzencode($html, 9);
      header('Content-encoding: gzip');
   } else {
      $content = $html;
   }
   header('Content-Length: ' . strlen($content));
   return $content;
}
ob_start("output_handler");
?>

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


 

Member
Статус: Не в сети
Регистрация: 27.07.2005
Замечательный скрипт. Ни слова не поняла. Пока...
Можешь объяснить как можно выводить ошибку при попытки залить на сервер файл > размера чем значение "MAX_FILE_SIZE".
типа <input type=hidden name="MAX_FILE_SIZE" value="15360"><input type=file name=screenshot style="width: 285 px">

В моем скрипте ошибки типа превышения размера/несоответствие формата/etс выводятся только после залития файла на сервер.
Вопрос как вывести ошибку, если пользователь попытался загрузить файл большего размера.
if (что-то) {$_SESSION[screenerror]="Ошибка - превышение размера файла"} else {мой скрипт по копированию изображения}.

Думаю таким экспертам как вы не затруднит подсказать?
+ Нужно ли ставить кавычки value="xxxx" или можно без них? Влияет ли на что-либо?

Добавлено спустя 2 минуты, 44 секунды:
+ И еще не подскажешь где тусуются программисты? IXBT явно не из тех мест...


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
ElMory вы как не читали мануал, так не читали и моё сообщение, я же сказал что мне лень такие вещи каждому третьему объяснять...

Но из уважения к вашему полу, если конечно вы не притворяитесь (бывает и такое, поверьте) примерно покажу
Код:
if ($_FILES['image'][error] == 2) {
   $_SESSION[screenerror]="Ошибка - превышение размера файла";
} else {
   //   скрипт по копированию изображения
}


(И учитесь оформлять код, я в вашем скрипте нифига не понял, есть много литературы по этому поводу, но хотя бы оформляйте if-else условия, , не удобно же читать)

+Кавычки требует стандарт, однако и без них работать будет

+Форумы не подскажу, вам сначала мануал выучить наизусть (почти в прямом смысле) а потом вам никакие форумы нужны не будут, сами будете профи...

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
Он прав, все кто професионально кодит на PHP, изучили мануал вдоль и поперёк. Не весь конечно, но всё что до Описания функций прочитал насквозь. Это нужно читать, что бы знать. Иначе постоянно будут всякие проблемы, которые на самом деле являются мелкими настолько, что порой даже не хочется отвечать. Мануал от таких проблем избавляет.

virus:
Да вобщем-то там ничего лишнего и нету... Функция то минимальна и проста как 2+2 :)


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
Ну если хочешь обсуждение давай обсудим какими шаблонизаторами лучше пользоваться, вот я например ненавижу smarty и люблю PHPLIB :)

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


 

Member
Статус: Не в сети
Регистрация: 28.03.2005
Откуда: Латвия, Рига
Я пока Smarty юзаю по причине того, что тот PHP Framework на котором щас работаю, с ним работает. Щас пишу собственный, буду использовать Savant либо phpTemplates библиотеку вообще. Пока что думаю Savant использовать :)
Smarty здоровый, тяжеловесный, и, собственно, медленный. Да и ограниченный очень :) Тут как-то понадобился рекурсионный вывод масива... попробуй такое на smarty сделать :)))) пришлось отказатся и делать через Ж.


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
_Psih писал(а):
пишу собственный

Я тоже начинал 2 раза, но потом находились дела и я забрасывал...

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 3 из 64<  1  2  3  4  5  6 ... 64  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Новости

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan