Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрипт для загрузки фотографий на сайт
 
 автор: robotwerder   (23.03.2011 в 19:45)   письмо автору
 
 

Будьте добры, выручайте ..
Необходим скрипт для вызгрузки фото на сайт.
Есть сайт на html и есть фото в определенной директории.
Неоходимо чтобы эти фото отображались на сайте после загрузки их в директории.
То есть видимо при помощи опр скрипта организовать это дело.
Наверняка есть подобные решения.
Буду очень признателен если поможете.
Заранее благодарю

  Ответить  
 
 автор: cheops   (23.03.2011 в 19:48)   письмо автору
 
   для: robotwerder   (23.03.2011 в 19:45)
 

Хм... да обычно такие скрипты называются Фотогалереями, три штуки можно найти в нашем разделе Downloads. Сам принцип загрузки изображения на сервер объясняется по ссылке http://softtime.ru/scripts/upload.php.

PS Если что-то не понятно или не получается, пожалуйста, задавайте встречные вопросы.

  Ответить  
 
 автор: robotwerder   (24.03.2011 в 08:50)   письмо автору
 
   для: cheops   (23.03.2011 в 19:48)
 

да. .. с программированием я не дружу поэтому появились вопросы..
использовал галерею wallist по указанной вами ссылке. (без БД)
Установил на денвер и галерею..залил несколько фоток.. отображаются на ура..
только отображаются они на главной странице админки галлереи..

1.Как это сделать?!
2.возможно ли мне организовать вывод галлереи автоматически в мою html страничку с моими стилями.. без использования БД
3. Смогу ли я это сделать под вашим чутким руководством, разбираюсь в стилях и html..

  Ответить  
 
 автор: cheops   (24.03.2011 в 10:11)   письмо автору
 
   для: robotwerder   (24.03.2011 в 08:50)
 

2. Да это возможно, но вам придется вручную редактировать HTML-страницу, указывая пути к файлам или, назначить HTML-файлам в качестве обработчика PHP и вставлять PHP-скрипты внутрь HTML-файлов.
3. Конечно, чем смогу, помогу.

  Ответить  
 
 автор: RobotWerder   (24.03.2011 в 11:54)   письмо автору
 
   для: cheops   (24.03.2011 в 10:11)
 

вообщем вот ссылка

http://liline.ru/examples.php
и в каждую подкатегорию естессно необходима выгрузка фото из каждой категории на сайт..
и видимо нужно каким то образом присваивать фоткам имена для того чтобы они отображались на сайте.

сливаю сайт на локаль и понеслась..
в принципе готов выбрать любой из предложенных вами вариантов..
для меня это темный лес, нужно выбрать что будет проще .. обработчик или редактирование php?

и конечно же , пардон, не знаю с чего начать?! есть очень много файлов внутри

view.php – вывод изображений в нужном порядке, так жеосуществляте вывод страниц перехода. Подключаемы файлы:
functions/descr.php
functions/language/rus.php
functions/language/en.php


наверное вот этот файлец view.php мне понадобится?!

  Ответить  
 
 автор: cheops   (24.03.2011 в 14:14)   письмо автору
 
   для: RobotWerder   (24.03.2011 в 11:54)
 

Соственно вот что нужно знать, вам нужна система администрирования для загрузки файлов, если да, то лучше начать с неё, если вы файлы будете готовить сами, а система будет их подцеплять и разрешать вам скажем их подписывать или оставлять комментарии, это другое. Если не сложно, опишите, как вам видится работа с ними.

Дело в том, что при построении системы в первую очередь начинают с источника (фотографий, комментариев и т.п.) и способов его пополнения. Я предлагаю, организовать или договориться о том, как фотографии будут попадать на сервер (через FTP, как HTML-файлы или через HTTP-форму с кнопкой Обзор).

  Ответить  
 
 автор: RobotWerder   (24.03.2011 в 18:44)   письмо автору
 
   для: cheops   (24.03.2011 в 14:14)
 

во первых хочу поблагодарить вас за помощь:) . вы очень добры..

ммм.. поиски мои не были напрасными и в принципе я нашел простейший скрипт с формой с возможностью еденичной загрузки файлов в директорию, но ставить его в каждую директорию мне кажется извращением.

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

  Ответить  
 
 автор: cheops   (24.03.2011 в 19:48)   письмо автору
 
   для: RobotWerder   (24.03.2011 в 18:44)
 

Ясно. Вы знаете мне было бы удодно, если бы мы начала отталкиваться от скрипта http://softtime.ru/info/photo.php, в том или ином виде он кочует из системы в систему, обрастая фичами и подробностями. Однако, основа его остается неизменной.
1. Необходимо загрузить на сервер следующие папки и файл config.php
admin
files
util
config.php
Если вы работаете в UNIX-подобной операционной системе, то папке files необходимо назначить права доступа 0777, чтобы можно было без проблем загружать в files файлы, которые мы потом будем использовать для фотогаллереи

2. В дистрибутиве можно обнаружить файл photo.sql, который содержит дамп базы данных, которые необходимо развернуть. Вероятно ваш тарифный план поддерживает Web-интерфейс к базе данных phpMyAdmin. Нужно выбрать базу данных, меню SQL, поместить содержимое файла photo.sql в тестовую область и нажать ОК. После этого в базе данных должно появиться 2 таблицы.

3. Для взаимодействия PHP-кода с СУБД MySQL необходимо настроить параметры соединения в файле config.php. Нужно будет узнать (у службы тех.поддержки) параметры соединения с базой данных и заполнить следующие переменные
  // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
  // сейчас выставлен сервер локальной машины
  $dblocation = "localhost";
  // Имя базы данных, на хостинге или локальной машине
  $dbname = "photo";
  // Имя пользователя базы данных
  $dbuser = "root";
  // Пароль
  $dbpasswd = "";
Кстати, переменная $dbname содержит имя базы данных, которое вы выбираете в phpMyAdmin, имя сервера обычно задает хост-провайдер, как имя пользователя и его пароль (если Web-приложение развертывается на локальной машине, то их следует оставить без изменений).

После этого нужно попробовать зайти в папку http://site.dev/admin/ (где site.dev адрес вашего сайта) и попробовать добавить разделы фотогалереи и сами фотографии. Если все нормально, можем двигаться дальше, чтобы отобразить фотографии так, как вам требуется.

  Ответить  
 
 автор: RobotWerder   (25.03.2011 в 07:36)   письмо автору
 
   для: cheops   (24.03.2011 в 19:48)
 

проблема первая.. она в том что мне не дали пока что доступ в админку хостинга и я не могу действовать сразу на сайте
поэтому пока я на локале.
слил все что просили и поставил phpmyadmin
все файлы робят и я загрузил фото

только вот фалйлы сайта отказываются работать
ошибка плевая видимо, но я слаб в нем..



Warning: require_once(/comm/top.php) [function.require-once]: failed to open stream: No such file or directory in Z:\home\localhost\www\index.php on line 6

Fatal error: require_once() [function.require]: Failed opening required '/comm/top.php' (include_path='.;/usr/local/php5/PEAR') in Z:\home\localhost\www\index.php on line 6


Скажите. может лучше действовать сразу на хосте а не локально, ошибки какие та вырастают, и все равно копию сайта сделал..?!

  Ответить  
 
 автор: cheops   (25.03.2011 в 09:01)   письмо автору
 
   для: RobotWerder   (25.03.2011 в 07:36)
 

Эта ошибка означает, что файл index.php не видит файла comm/top.php - нужно либо закомментировать 6 строку файла index.php (при помощи последовательности //), либо создать директорию comm и поместить в него файл top.php (можно пока пустой).

  Ответить  
 
 автор: RobotWerder   (25.03.2011 в 11:03)   письмо автору
 
   для: cheops   (25.03.2011 в 09:01)
 

что файл index.php не видит файла comm/top.php я в принципе понял..
проблема в том что и папка есть и файл тоже есть:)


<?php
$title
="Производство неоновой рекламы в Екатеринбурге - Линия света";
$pict=1;
?>

<?php require_once($DOCUMENT_ROOT."/comm/top.php"); ?>

<p>
<img src="/pict/neon.jpg" align=right width=280 height=233>
Компания "Линия света" осуществляет полный комплекс услуг, 
по производству, монтажу и обслуживанию наружной рекламы её 
индивидуальному проектированию и дизайну.</p>
<p>Линия Cвета изготавливает индивидуальные неоновые и 
световые вывески, световые короба (лайтбоксы) и объемные 
буквы, оформляет неоном витрины и интерьер, монтирует 
наружную рекламу на фасадах, крышных конструкциях, а так же 
выполняет высотные работы методом промышленного 
альпинизма.</p>
<p>Компания осуществляет комплекс услуг по светодизайну, 
изготовлению полиграфии и сувенирной продукции.</p>
<p>Обладая собственным производственным цехом, европейским 
оборудованием и комплектующим поставляемыми из США и 
Италии. Компания "Линия Света" предоставляет гарантию на 
всю изготавливаемую продукцию в течение года и осуществляет 
послегарантийное обслуживание.</p>

<?php require_once($DOCUMENT_ROOT."/comm/bottom.php"); ?>

это index.php

  Ответить  
 
 автор: Commander   (25.03.2011 в 11:34)   письмо автору
 
   для: RobotWerder   (25.03.2011 в 11:03)
 

Все ясно. Нужно немного исправить файл index.php:
<?php
$DOCUMENT_ROOT 
$_SERVER["DOCUMENT_ROOT"];//Эту строку надо вставить
$title="...

  Ответить  
 
 автор: RobotWerder   (28.03.2011 в 07:25)   письмо автору
 
   для: Commander   (25.03.2011 в 11:34)
 

Готово:).. робит:)
Теперь видимо нужен будет скрипт отвечающий за вывод фото в нужное мне категории на сайте!?..

  Ответить  
 
 автор: cheops   (28.03.2011 в 12:08)   письмо автору
 
   для: RobotWerder   (28.03.2011 в 07:25)
 

Да, напомните, какую систему вы используете, чтобы можно было воспроизвести таблицу базы данных?

  Ответить  
 
 автор: RobotWerder   (28.03.2011 в 13:51)   письмо автору
 
   для: cheops   (28.03.2011 в 12:08)
 

Если вы про ОС, то я на винде .. ХР
Использую старый добрый денвер

  Ответить  
 
 автор: cheops   (28.03.2011 в 14:45)   письмо автору
 
   для: RobotWerder   (28.03.2011 в 13:51)
 

Нет, нет, имеется в виду фотогалерея, которую вы приспосабливаете/разрабатываете для своих нужд?

  Ответить  
 
 автор: RobotWerder   (28.03.2011 в 14:59)   письмо автору
 
   для: cheops   (28.03.2011 в 14:45)
 

http://softtime.ru/info/wallist.php

или wallist с применением БД..
Вообщем как будет лучше, быстрее или удобнее

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:24)   письмо автору
 
   для: RobotWerder   (28.03.2011 в 14:59)
 

Сейчас запущу его у себя на локальной машине - отпишусь, о следующих шагах.

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:17)   письмо автору
 
   для: RobotWerder   (28.03.2011 в 14:59)
 

В первую очередь необходимо исправить файл config.php, добавив в конец перед ?> следующую строку
<?php
...
mysql_query("SET NAMES cp1251");
?>

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:28)   письмо автору
 
   для: RobotWerder   (28.03.2011 в 14:59)
 

Будем исходить из того, что у вас уже есть какое-то количество изображений в базе данных, тогда вывести их можно при помощи скрипта (минимальный вариант)
<?php
  
// Устанавливаем соединение с базой данных
  
require_once("config.php");
  
// количество фотографий в строке таблицы
  
$numphoto 3;
?><table width="100%" border="1" cellpadding="5" cellspacing="0">
<?php
  
// Выбираем из базы данных фотографии
  
$query "SELECT * FROM db_images
            WHERE hide = 0 
            ORDER BY name"
;
  
$prt mysql_query($query);
  if(!
$prt)
  {
    echo 
"error : ".mysql_error()."<br>";
    echo 
$query;
    
puterror("Ошибка при обращении к блоку Фотогалерея");
  }
  
// Если в текущей группе фотографии имеется хотя бы одна
  // фотография - формируем таблицу с фотографиями
  
if(mysql_num_rows($prt) > 0)
  {
    
// Вспомогательная переменная для вывода
    // фотографий по $numphoto штуки в строке
    
$td 0;
    
// Выводим заголовок таблицы
    
while($par mysql_fetch_array($prt))
    {
      
// Увеличенное изобаржение находится в picture/large/".$par['path']."
      
$image "<img src='picture/small/".$par['path']."' border='0' vspace='3' />";
      
// Если значение временной переменной равно 0
      // выводим тэг начала строки таблицы <tr>
      
if ($td == 0) echo "<tr>";
      
// Выводим фотографию
      
echo "<td>$image</td>";
      
// Увеличиваем значение временной переменной $td
      
$td++;
      
// Если временная переменная $td принимает значение
      // равное $numphoto, следовательно строка завершена, и необходимо
      // вывести завершающий тэг </tr>, а значение самой
      // переменной обнулить
      
if ($td == $numphoto)
      {
        echo 
"</tr>";
        
$td 0;
      }         
    }
  }
?></table>

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 10:18)   письмо автору
 
   для: cheops   (28.03.2011 в 17:28)
 

мм .. минуточку.. требуется пояснение..
насколько я вижу из вашего примера мне нужно теперь залить на хост галерею wallist с БД.
просто
Выбираем из базы данных фотографии
  $query = "SELECT * FROM db_images 

в БД photo
у меня ща 2 таблицы, одна из них наз-ся photo, а другая photocat
никаких db_images там нет..
то есть если я правильно понял, то вы мне для примера рассказывали про http://softtime.ru/info/photo.php и теперь мне надо по аналогии проделать то же самое с wallist ?? то есть импортировать БД и изменить config.php потому как этот скрипт не пашет

  Ответить  
 
 автор: cheops   (29.03.2011 в 11:16)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 10:18)
 

>в БД photo
>у меня ща 2 таблицы, одна из них наз-ся photo, а другая photocat
Откуда эти таблицы? Заполнены ли они изображениями и нельзя ли использовать их? Если да, то нужны их структуры.

wallist разворачивает таблицы при инсталляции, для этого необходимо перейти в папку install.

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 12:15)   письмо автору
 
   для: cheops   (29.03.2011 в 11:16)
 

странно .. я надобавлял фоток , но они к сожалению попали в таблицу photo
а выборка идет из таблицы db_images
но она пустая..
вообщем при добавлении через админку wallist фото попадают не в ту табличку:(

а скрипт ваш конечно рабочий и я результате его выполнения выводится одна фотка (которую почему то не видно) и еще видно border таблички

  Ответить  
 
 автор: cheops   (29.03.2011 в 12:28)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 12:15)
 

Понятно, вероятно, вы при помощи какой-то другой системы администрирования осуществляли добавление. Приведите примерную структуру таблицы photo (чтобы можно было модифицировать код вывода изображений?).

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 12:38)   письмо автору
30.5 Кб
 
   для: cheops   (29.03.2011 в 12:28)
 

вот она ..
во вложении

  Ответить  
 
 автор: cheops   (29.03.2011 в 13:30)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 12:38)
 

Тогда попробуйте следующий скрипт
<?php 
  
// Устанавливаем соединение с базой данных 
  
require_once("config.php"); 
  
// количество фотографий в строке таблицы 
  
$numphoto 3
?><table width="100%" border="1" cellpadding="5" cellspacing="0"> 
<?php 
  
// Выбираем из базы данных фотографии 
  
$query "SELECT * FROM photo
            WHERE id_catalog = 1 AND
            hide = 'show' 
            ORDER BY pos"

  
$prt mysql_query($query); 
  if(!
$prt
  { 
    echo 
"error : ".mysql_error()."<br>"
    echo 
$query
    
puterror("Ошибка при обращении к блоку Фотогалерея"); 
  } 
  
// Если в текущей группе фотографии имеется хотя бы одна 
  // фотография - формируем таблицу с фотографиями 
  
if(mysql_num_rows($prt) > 0
  { 
    
// Вспомогательная переменная для вывода 
    // фотографий по $numphoto штуки в строке 
    
$td 0
    
// Выводим заголовок таблицы 
    
while($par mysql_fetch_array($prt)) 
    { 
      
// Увеличенное изобаржение находится в picture/large/".$par['path']." 
      
$image "<img src='picture/small/".$par['small']."' border='0' vspace='3' />"
      
// Если значение временной переменной равно 0 
      // выводим тэг начала строки таблицы <tr> 
      
if ($td == 0) echo "<tr>"
      
// Выводим фотографию 
      
echo "<td>$image</td>"
      
// Увеличиваем значение временной переменной $td 
      
$td++; 
      
// Если временная переменная $td принимает значение 
      // равное $numphoto, следовательно строка завершена, и необходимо 
      // вывести завершающий тэг </tr>, а значение самой 
      // переменной обнулить 
      
if ($td == $numphoto
      { 
        echo 
"</tr>"
        
$td 0
      }          
    } 
  } 
?></table>

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 14:11)   письмо автору
 
   для: cheops   (29.03.2011 в 13:30)
 

Вы конечно асс своего дела:).. здорово!
Скриптик рабочий, только фото пустые выгружаются из таблички, естественно получить их увеличенное изображение не получается
Но я думаю что это косяки денвера.
У меня конечно же вопросы

1. Каким образом получить увеличенные изображения?!
2. Верстка. Как проще организовать вывод фоток в дивах?!
чтобы было как сейчас на liline.ru по три по горизонтале при сужении окна браузера
3. И видимо надо будет вставить php код в html каждую страничку, (код для этого?)
и видимо в зависимости от категории буду выводить разные скрипты меняя только цифру id_catalog тут

WHERE id_catalog = 1

Может быть пора уже переносить это все на хост для тестирования уже на месте?!. Мне прямо ща выдали пароль на базку?!

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 14:13)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 14:11)
 

Ура ! с дивами можно не запариваться.. мне сказали что это все равно :)

  Ответить  
 
 автор: cheops   (29.03.2011 в 14:31)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 14:11)
 

1. В каком виде должны быть увеличенные изображения? Самый простой вариант заключается в модификации переменной $image следующим образом
<?php
 $image 
"<a href='picture/large/".$par['big']."' title='Увеличенное изображение'>"
              
"<img src='picture/small/".$par['small']."' border='0' vspace='3' />".
              
"</a>";
?>
Следует обратить внимание на путь picture/small/".$par['small'].", в вашем случае скорее всего picture/small/ являются лишними - нужно посмотреть через HTML-код, куда ссылаются ссылки и изображения и подкорректировать путь.

  Ответить  
 
 автор: cheops   (29.03.2011 в 14:35)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 14:11)
 

3. Совершенно верно, id_catalog отвечает за раздел. Для того, чтобы HTML-страницы обрабатывали PHP-код в папку следует поместить конфигурационный файл .htaccess следующего содержания
RemoveHandler .html .htm  
AddType application/x-httpd-php .php .htm .html

  Ответить  
 
 автор: RobotWerder   (29.03.2011 в 19:14)   письмо автору
 
   для: cheops   (29.03.2011 в 14:35)
 

пардон за очередную глупость

<?php
 $image 
"<a href='picture/large/".$par['big']."' title='Увеличенное изображение'>"
              
"<img src='picture/small/".$par['small']."' border='0' vspace='3' />".
              
"</a>";
?> 

а этот код куда воткнуть?

  Ответить  
 
 автор: cheops   (29.03.2011 в 20:20)   письмо автору
 
   для: RobotWerder   (29.03.2011 в 19:14)
 

Этой строкой нужно заменить вот эту
<?php
  
...
  
$image "<img src='picture/small/".$par['small']."' border='0' vspace='3' />"
  ...
?>

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 08:48)   письмо автору
 
   для: cheops   (29.03.2011 в 20:20)
 

итого я имею сейчас

http://liline.ru/v.php

его содержимое

<?php
  
// Устанавливаем соединение с базой данных
  
require_once("config.php");
  
// количество фотографий в строке таблицы
  
$numphoto 3;
?><table width="100%" border="1" cellpadding="5" cellspacing="0">
<?php
  
// Выбираем из базы данных фотографии
  
$query "SELECT * FROM db_images
            WHERE hide = 0 
            ORDER BY name"
;
  
$prt mysql_query($query);
  if(!
$prt)
  {
    echo 
"error : ".mysql_error()."<br>";
    echo 
$query;
    
puterror("Ошибка при обращении к блоку Фотогалерея");
  }
  
// Если в текущей группе фотографии имеется хотя бы одна
  // фотография - формируем таблицу с фотографиями
  
if(mysql_num_rows($prt) > 0)
  {
    
// Вспомогательная переменная для вывода
    // фотографий по $numphoto штуки в строке
    
$td 0;
    
// Выводим заголовок таблицы
    
while($par mysql_fetch_array($prt))
    {
      
// Увеличенное изобаржение находится в picture/large/".$par['path']."
       
$image "<a href='picture/large/".$par['big']."' title='Увеличенное изображение'>"
              
"<img src='picture/small/".$par['small']."' border='0' vspace='3' />".
              
"</a>"
      
// Если значение временной переменной равно 0
      // выводим тэг начала строки таблицы <tr>
      
if ($td == 0) echo "<tr>";
      
// Выводим фотографию
      
echo "<td>$image</td>";
      
// Увеличиваем значение временной переменной $td
      
$td++;
      
// Если временная переменная $td принимает значение
      // равное $numphoto, следовательно строка завершена, и необходимо
      // вывести завершающий тэг </tr>, а значение самой
      // переменной обнулить
      
if ($td == $numphoto)
      {
        echo 
"</tr>";
        
$td 0;
      }         
    }
  }
?></table>


ммм..
.htaccess разместил ..
Не понятно где косяк :(

ща ещё пути посмотрю

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 08:58)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 08:48)
 

хмм..
подглядел на фтп куда складываются фотки



// Увеличенное изобаржение находится в picture/large/".$par['path']."
       $image = "<a href='wallist_mysql/picture/large/".$par['big']."' title='Увеличенное изображение'>". 
              "<img src='wallist_mysql/picture/small/".$par['small']."' border='0' vspace='3' />".


получилось вот что.. но результат по прежнему тот же :(

  Ответить  
 
 автор: cheops   (30.03.2011 в 11:00)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 08:58)
 

Посмотрите таблицу photo, из которой мы берем изображения, какой там путь в полях big и small. Все-таки мне кажется, что wallist у нас не задействован.

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 13:14)   письмо автору
 
   для: cheops   (30.03.2011 в 11:00)
 

после того как залил wallist по ftp я использовал первый ваш скрипт,
проверил что таблица photo не имеет записей, все фотки у меня точно в таблице db_images

  Ответить  
 
 автор: cheops   (30.03.2011 в 13:35)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 13:14)
 

Понятно, т.е. вы используете скрипт из сообщения cheops (28.03.2011 в 17:28)? Где, относительно корня сайта у вас он расположен?

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 13:47)   письмо автору
 
   для: cheops   (30.03.2011 в 13:35)
 

Да , все верно..именно тот скрипт..
он расположен в папке www
то есть в корне
liline.ru/www/v.php

  Ответить  
 
 автор: cheops   (30.03.2011 в 13:53)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 13:47)
 

Выберите любое изображение в папке small и подставьте его в путь
liline.ru/wallist_mysql/picture/small/любое_изображени.jpg
Оно отображается?

  Ответить  
 
 автор: cheops   (30.03.2011 в 13:55)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 13:47)
 

Если у вас все-таки wallist, тогда переменная $image должна выглядеть так
<?php 
 $image 
"<a href='picture/large/".$par['path']."' title='Увеличенное изображение'>".  
              
"<img src='picture/small/".$par['path']."' border='0' vspace='3' />"
              
"</a>"
?> 

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 14:06)   письмо автору
 
   для: cheops   (30.03.2011 в 13:55)
 

http://liline.ru/wallist_mysql/picture/small/00000x1.jpg
да, видно

код не сработал.. теперь я имею


<?php
  
// Устанавливаем соединение с базой данных
  
require_once("config.php");
  
// количество фотографий в строке таблицы
  
$numphoto 3;
?><table width="100%" border="1" cellpadding="5" cellspacing="0">
<?php
  
// Выбираем из базы данных фотографии
  
$query "SELECT * FROM db_images
            WHERE hide = 0 
            ORDER BY name"
;
  
$prt mysql_query($query);
  if(!
$prt)
  {
    echo 
"error : ".mysql_error()."<br>";
    echo 
$query;
    
puterror("Ошибка при обращении к блоку Фотогалерея");
  }
  
// Если в текущей группе фотографии имеется хотя бы одна
  // фотография - формируем таблицу с фотографиями
  
if(mysql_num_rows($prt) > 0)
  {
    
// Вспомогательная переменная для вывода
    // фотографий по $numphoto штуки в строке
    
$td 0;
    
// Выводим заголовок таблицы
    
while($par mysql_fetch_array($prt))
    {
      
// Увеличенное изобаржение находится в picture/large/".$par['path']."
        
$image "<a href='picture/large/".$par['path']."' title='Увеличенное изображение'>".  
              
"<img src='picture/small/".$par['path']."' border='0' vspace='3' />"
              
"</a>"
      
// Если значение временной переменной равно 0
      // выводим тэг начала строки таблицы <tr>
      
if ($td == 0) echo "<tr>";
      
// Выводим фотографию
      
echo "<td>$image</td>";
      
// Увеличиваем значение временной переменной $td
      
$td++;
      
// Если временная переменная $td принимает значение
      // равное $numphoto, следовательно строка завершена, и необходимо
      // вывести завершающий тэг </tr>, а значение самой
      // переменной обнулить
      
if ($td == $numphoto)
      {
        echo 
"</tr>";
        
$td 0;
      }         
    }
  }
?></table>

  Ответить  
 
 автор: cheops   (30.03.2011 в 14:58)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 14:06)
 

Вот на такой замените
<?php 
  
// Устанавливаем соединение с базой данных 
  
require_once("config.php"); 
  
// количество фотографий в строке таблицы 
  
$numphoto 3
?><table width="100%" border="1" cellpadding="5" cellspacing="0"> 
<?php 
  
// Выбираем из базы данных фотографии 
  
$query "SELECT * FROM db_images 
            WHERE hide = 0  
            ORDER BY name"

  
$prt mysql_query($query); 
  if(!
$prt
  { 
    echo 
"error : ".mysql_error()."<br>"
    echo 
$query
    
puterror("Ошибка при обращении к блоку Фотогалерея"); 
  } 
  
// Если в текущей группе фотографии имеется хотя бы одна 
  // фотография - формируем таблицу с фотографиями 
  
if(mysql_num_rows($prt) > 0
  { 
    
// Вспомогательная переменная для вывода 
    // фотографий по $numphoto штуки в строке 
    
$td 0
    
// Выводим заголовок таблицы 
    
while($par mysql_fetch_array($prt)) 
    { 
      
// Увеличенное изобаржение находится в picture/large/".$par['path']." 
        
$image "<a href='/wallist_mysql/picture/large/".$par['path']."' title='Увеличенное изображение'>".   
              
"<img src='/wallist_mysql/picture/small/".$par['path']."' border='0' vspace='3' />".  
              
"</a>";  
      
// Если значение временной переменной равно 0 
      // выводим тэг начала строки таблицы <tr> 
      
if ($td == 0) echo "<tr>"
      
// Выводим фотографию 
      
echo "<td>$image</td>"
      
// Увеличиваем значение временной переменной $td 
      
$td++; 
      
// Если временная переменная $td принимает значение 
      // равное $numphoto, следовательно строка завершена, и необходимо 
      // вывести завершающий тэг </tr>, а значение самой 
      // переменной обнулить 
      
if ($td == $numphoto
      { 
        echo 
"</tr>"
        
$td 0
      }          
    } 
  } 
?></table>

  Ответить  
 
 автор: RobotWerder   (30.03.2011 в 15:40)   письмо автору
 
   для: cheops   (30.03.2011 в 14:58)
 

УРРРЯЯЯ !!!!
Слава скромному магу и волшебнику по имени cheops

промежуточный результат достигнут..
будьте так добры ответьте на вопросики

1. Я думаю этот скрипт надо внедрить в html тэги <body> </body>
Как будет выглядеть вызов этого скрипта?!

2. Хотелось бы из столбика name этой же таблички выковырять содержимое и прикрепить его в виде следующей строчки таблицы

------------- --------------
фото 1 фото 2
------------- --------------
имя фото1 имя фото2
------------- --------------

и тд.. ?!

Надеюсь вы поможете в решении, хочется доделать до конца

  Ответить  
 
 автор: cheops   (30.03.2011 в 16:02)   письмо автору
 
   для: RobotWerder   (30.03.2011 в 15:40)
 

1. Эти тэги можно добавлять там же где имеются тэги <table> и </table>, за пределами <?php и ?>
2. Самый просто способ это добавить div-тэг в многострадальную переменную $image
<?php
  
...
          
$image "<div class='phtname'>".$par['name']."</div>".
              
"<div><a href='/wallist_mysql/picture/large/".$par['path']."' title='Увеличенное изображение'>".    
              
"<img src='/wallist_mysql/picture/small/".$par['path']."' border='0' vspace='3' />".   
              
"</a></div>";
  ...
?>

  Ответить  
 
 автор: RobotWerder   (21.04.2011 в 07:39)   письмо автору
25.7 Кб
 
   для: cheops   (30.03.2011 в 16:02)
 

временно отсутствовал..
вобщем те кто используют галерею совсем неумные и не захотели такую сложную админку. путаются короче они..
если можете , подсобите с созданием простой формы со списком папок куда надо загрузить фото, кнопкой отправить и возможностью удаления фоток.
Нашел скрипт добавления, надо его допилить видимо чуток..

<?php

?>
<form enctype='multipart/form-data' method=post>
<input type="file" name="image"><br>
<input type=submit value='Загрузить'>
</form>
<?php
// Число изображений на странице
$pnumber 3;
 
// Устанавливаем соединение с базой данных
 
// Сетевой адрес MySQL-сервера
$dblocation "localhost";
// Имя базы данных
$dbname "photo";
// Пользователь
$dbuser "root";
// Его пароль
$dbpasswd "";
// Устанавливаем соединение с базой данных
$dbcnx mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!
$dbcnx) exit ("К сожалению, не доступен сервер MySQL : ".mysql_error());
// Выбираем базу данных
if (!@mysql_select_db($dbname,$dbcnx)) exit("К сожалению, не доступна база данных : ".mysql_error());
 
// Обработчик HTML-формы
if(!empty($_FILES))
{
    
// Проверяем является ли переданный файл картинкой
    
if(substr($_FILES['image']['type'],0,5) == 'image')
    {
        
// Читаем содержимое файла
        
$content file_get_contents($_FILES['image']['tmp_name']);
        
// Уничтожаем файл во временной директории
        
unlink($_FILES['image']['tmp_name']);
 
        
// Экранируем спец-символы в бинарном содержимом файла
        
$content mysql_escape_string($content);
 
        
// Формируем запрос на добавление файла в таблицу
        
$query "INSERT INTO photo VALUES(NULL, '".$_FILES['image']['name']."', '$content')";
        if(
mysql_query($query))
        {
            
// Осуществляем автоматическую перезагрузку страницы
            
echo "<HTML><HEAD>
                <META HTTP-EQUIV='Refresh' CONTENT='0; URL=
$_SERVER[PHP_SELF]'>
             </HEAD></HTML>"
;
        } else exit(
mysql_error());
    }
}
?>


остановился на том что скрипт ругается на несовпадение кол-ва добавляемых полей кол-ву столбиков в базе..
Column count doesn't match value count at row 1
На всяк случай прикреплю вид базы
интересно так же.. как туда загружать и мелкие и большие фото одновременно и как следать список выпадающих папок?!

  Ответить  
 
 автор: cheops   (21.04.2011 в 10:09)   письмо автору
 
   для: RobotWerder   (21.04.2011 в 07:39)
 

Да, количество столбцов должно совпадать.

>интересно так же.. как туда загружать и мелкие и большие фото одновременно и как следать
>список выпадающих папок?!
Нужно использовать два элемента управления типа file или формировать из большого изображения уменьшенное средствами расширения GDLib. Выпадающий список следует формировать при помощи <select>...</select>.

PS Лучше под новые вопросы завести новые темы, так как эта уже довольно большая, да и основную задачу выполнили. Так и ответов можно больше получить и искать/ссылаться на них во ответах другим посетителям будет проще.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования