Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
сроцно нужен help!
вобщем проблема...
ЗАДАЧА: Аплоад изображений! Баннеров! (также возможность загрузки *.SWF). В общем необходимо загрузить баннер определённого размера на сервер с формы! При загрузке надо проверить размер изображение и вес! (с этим вроде всё понятно)
НО! ПОТОМ НАДО ПРЕДЕЛИТЬ РАСШИРЕНИЕ ИЗОБРАЖЕНИЯ (.swf,.gif и т.д.) и засуть это изображение в папку на сервер с наименованием расширения! при том что имя иэтого изображения (т.е. путь к нему) задаётся маской вида
"$banner_pattern = 'banners*jpg*ban%07d.%s';" - тут "*" - слеши и маска показана для изображений jpg
в базу записывается id баннера и его расширение, соответственно потом из неё делается выборка
после загрузки надо вывести все загруженые баннеры! отображение баннеров (т.е. вставка пути к файлу баннера) в теги <img> и <embed>(для флеша)
также берётся из маски которая написана выше и имеет вид, примерно
вобщем проблема как динамически меня маску при записи пути в тег в зависимости от расширения баннера...
"$banner_pattern = 'banners*jpg*ban%07d.%s';"
"$banner_pattern = 'banners*gif*ban%07d.%s';"
и т.д. сам уже долго несплю работаю.. щас вот наткнулся на эту тупую проблему! ВСЁ! СТУПОР! НИЧЕГО СДЕЛАТь НЕ МОГУ! ПЕРЕПРОБЫВАЛ ВСЁ!
в лучшем случае путь баннера вставляется, но сам баннер не отображается... (тоже кстати интересно почему так происходит)
(Добавление)
сижу вот... в растерянности туплю...
очень расчитываю на скорую помощ
valenok
Отправлено: 17 Февраля, 2007 - 09:14:47
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
Определять расширение уже умеем?
imagetype() или substr($img,strrpos($img,'.'))\n\n(Добавление)
потом "$banner_pattern = 'banners*".$type."*ban%07d.%s';"
----- Truly yours, Sasha.
CyberBoss
Отправлено: 17 Февраля, 2007 - 14:01:09
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
вопрос! а можно к флеш баннерам применять стандартные функции для изображений: GetImageSize() и т.д.?
и что будет если флеш баннер прогнать через эти функции?\n\n(Добавление)
а что за функция imagetype()?
valenok
Отправлено: 17 Февраля, 2007 - 16:27:02
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
php.net/imagetypes
Определяет тип картинки если он:
IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM.
А что тебе мешает попробовать прогнать через эти ф-ции флэшку?
Скорее всего будет работать.
Также существует расширение EXIF для работы с картинками, а если ты планируешь заниматься баннерами то очень полезно такое иметь.
* EXIF поддерживает и флэшки
----- Truly yours, Sasha.
CyberBoss
Отправлено: 18 Февраля, 2007 - 21:24:17
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
ААААААААААААААААА!!!
вроде со всем справился... НО!!!!!
теперь загруженые изображения в браузере не отображаются! что это может быть и как с этим бороться7 поскажите пожалуйста!
нуу картинка вроде отображается, но как белый пустой лист! пробывал открывать в ФаерФоксе и в ИЕ, ТОЖЕСАМОЕ!
CyberBoss
Отправлено: 18 Февраля, 2007 - 23:24:08
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
плииз.. слёзно расчитаваю на вашу помощь...
прилогаю иходний всей той шняги которая аплоадит...
я конечно понимаю, что копаться в коде это нудно... но, тем не менее, буду бесконечно благодарен тем, кто поможет исправить ситуацию...
вообщем загруженые изображения неотображаются... может что-то в коде не так?
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
А браузере есть такая штука:
Вид
Там внутри в этом меню есть : показать исходный код.
Это показывает html страницы.
Кусок с картинкой будьте добры.
И убедитесь что он не лежит в каком нибудь div'e с атрибутом hidden\n\n(Добавление)
Но сюда только после того как попытаетесь сами:
зайти в нужную папку и посмотреть оказывается ли там какой либо файл с нужным названием, потом открыть его и узнать показывает ли ваш Windows Pictures & Fax viewer это изображение нормально.
Потом тупо правой кнопкой мышки по клавиатуре и открыть припомощи..
ФФ и ИЕ
Потом проверить html документ такого содержания :
<img src='img.gif' />
Потом искать ошибку у себя в html'e и пхп коде ответсвенном за вывод картинки.
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
К сожалению, скрипт приводится не полностью, откуда берутся переменные - неясно. Например, переменные $add (это $_POST["add"]?), $photo, $photo_name. Произвольно выдранный кусок кода. Без контекста понять где ошибка трудно.
Я бы сперва попытался загрузить файл, и если загрузка прошла успешно - добавить запись в таблицу БД.
if ( move_uploaded_file( $_FILES['photo']['tmp_name'], $newfile ) ) mysql_query( "INSERT INTO ... " );
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
нуу лююди... я конечно всё понимаю... но я не идиот...
вопервых...
функция алерт моя и простая... она ПХПШНАЯ!
function alert($mes){?><script>alert('<?=$mes?>');</script><?}
во вторых...
valenok пишет:
Но сюда только после того как попытаетесь сами:
зайти в нужную папку и посмотреть оказывается ли там какой либо файл с нужным названием, потом открыть его и узнать показывает ли ваш Windows Pictures & Fax viewer это изображение нормально.
Потом тупо правой кнопкой мышки по клавиатуре и открыть припомощи..
ФФ и ИЕ
Потом проверить html документ такого содержания :
<img src='img.gif' />
Потом искать ошибку у себя в html'e и пхп коде ответсвенном за вывод картинки.
Лучше начать с предпоследнего - может оказаться меньше этапов отладки.
всё это ЕССТЕСТВЕННО ПРОДЕЛАЛ...
1. файл есть
2. винда его отображает
3. <img src='img.gif' /> ЕСТЬ! указывает src указывает на существующий файл
ставлю даже на левой странице <img src='img.gif' /> (с путём к загруженному баннеру)
и он не отображается...
P.S. evgenijj! спасибо что уделил внимание моему коду :о)\n\n(Добавление)
<img src='banners/gif/4.gif' border='1' width='468' height='60'>
вот такой тег формирует скрипт при отображении загруженного баннера....
4.gif - существует и действительно лежит в тех каталогах
но непоказывается...\n\n(Добавление)
ещё фича...
загружаешь 2 баннера... НИФИГА! НЕ ОТОБРАЖАЮТСЯ!
удаляешь любой... ТОТ КОТОРЫЙ ОСТАЛСЯ ОТОБРАЖАЕТСЯ!
потом жмёшь ф5 и всё... даже тот который остался тоже пропадает...
просто бело поле 100*100
evgenijj
Отправлено: 19 Февраля, 2007 - 11:29:22
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Цитата:
всё это ЕССТЕСТВЕННО ПРОДЕЛАЛ...
1. файл есть
2. винда его отображает
3. <img src='img.gif' /> ЕСТЬ! указывает src указывает на существующий файл
ставлю даже на левой странице <img src='img.gif' /> (с путём к загруженному баннеру)
и он не отображается...
Как там говорил Станиславский? НЕ ВЕРЮ!
Чудес не бывает. Если файл есть, ACDSee его отображает, остается одно - неправильный путь.
P.S. был у меня раз прикол - в имя файла как-то попала русская буква: imagе.gif. Не показывается картинка - и все тут. Не сразу я нашел эту ошибочку . Может в имени каталога banners есть русская буква?
Если вдруг у тебя редактор html без подсветки кода - проверь, может где забыл закрывающую кавычку " - например в атрибуте тега <td class="myclass>Содержимое ячейки...
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
и ещё...
ЖЕНЕЧКО!
ЭТО НЕ БЕЗКОНТЕКСТНЫЙ КУСОК КОДА! ЭТО ПОЛНОСТЬЮ РАБОТАЮЩИЙ , НЕАЗВИСИМЫЙ СКРИПТ! АБСОЛЮТНО! можешь проверить...
хм... думаю вот что может смутить:
<form action="./?b=type1" method="post" enctype="multipart/form-data">
НО! "/?b=type1" - это всеголишь адрес страницы...
и если он в таком виде, то понятно, что обращение идёт к индексной странице
по поводу $add (это $_POST["add"]?), $photo, $photo_name. :
посмотри на на форму отправики повнимательнее... у сабмина name add (на странице несколько форм, перехватывая сабмиты можно упрощать работу с данными из разных форм)
насчот $photo, тоже нимательнее смотри на форму....
хм... ах ну да... понимаю что $photo_name могло вызвать впечатление "выдраного куска кода" НО!
давай посорим справчник
я процетирую:
Цитата:
Далее идёт содержимое $_FILES. Обратите внимание, что здесь предполагается использование имени 'userfile' для загружаемого файла, как в примере скрипта ранее:
$_FILES['userfile']['name']
Оригинальное имя файла на клиентской машине.
$_FILES['userfile']['type']
mime-тип файла, если браузер предоставил эту информацию. Пример: "image/gif".
$_FILES['userfile']['size']
Размер загруженного файла в байтах.
$_FILES['userfile']['tmp_name']
Временное имя файла, под которым загруженный файл был сохранён на сервере.
Примечание: в PHP версии до 4.1.0 она называлась $HTTP_POST_VARS и не была автоглобальной переменной. PHP 3 не поддерживает $HTTP_POST_FILES.
Если register_globals включена в php.ini, то будут доступны нижеследующие переменные. Обратите внимание, что имена этих переменных предполагают использование имя файла для загрузки 'userfile', как в примере предыдущего скрипта:
$userfile - Временное имя файла, под которым загруженный файл был сохранён на сервере.
$userfile_name - Оригинальное имя или путь к файлу на системе отправителя.
$userfile_size - Размер загруженного файла в байтах.
$userfile_type - mime-тип файла, если браузер предоставил эту информацию. Пример: "image/gif".
Заметьте, что часть "$userfile" этих переменных это имя, которое записано в поле <input> type="file" в форме загрузки. В предыдущем примере формы мы назвали её "userfile".
я думаю теперь понятно от куда взялась переменная $photo_name, а также подобные $photo_size ?
в целом я считаю скрип более-менее грамотный и функциональный...
но вот что-то взбойнул....\n\n(Добавление)
ыых.... вощем всё...
еси чрез 2 дня не здам проект
можна уже стразу подбирать катофалк...\n\n(Добавление)
хммммм щас ещё выяснилась любопытная весч!
при обращении к файлу с тегами/путями к картинками через эксплоер
картинке не отображаются... (http://www.reanimator.kz/crealink/test.htm)
а при запуске test.htm просто с компа C:homereanimator.kzwwwcrealinktest.htm
картинки отображаются...\n\n(Добавление)
хм... чота со слешами на форуме..
нуко
////////////////////////////////\n\n(Добавление)
////\\\\\\\\\
evgenijj
Отправлено: 19 Февраля, 2007 - 17:03:00
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Стиль программирования гм... Но картинки показывает:
Извиняюсь, Интернет вечером пропал, а сисадмин уже ушел. Вот то, что у меня на локальном компьютере.
Так что скрипт работает - просто незаметная ошибка (типа русская буква в имени директории)
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
хм а у меня не показывает...
всё что хочешь показыват, а вот именно загруженные изображения не показывает...\n\n(Добавление)
evgenijj пишет:
Стиль программирования гм... Но картинки показывает:
Нажмите для увеличения
[AD]
Нажмите для увеличения
[AD]
эти картинки я тоже не вижу!
valenok
Отправлено: 19 Февраля, 2007 - 20:03:52
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006 Откуда: Israel
Помог: 3 раз(а)
CyberBoss пишет:
всё это ЕССТЕСТВЕННО ПРОДЕЛАЛ...
1. файл есть
2. винда его отображает
3. <img src='img.gif' /> ЕСТЬ! указывает src указывает на существующий файл
Так, файл загружается, винда его отображает.
Проблема в отображении.
Если <img src='img.gif' /> показывает картинку, ищи неполадки в скрипте который генерирует тот самый src
Если не отображает - пиши в тех. поддержку браузера
потому что явно чего то не хватает.
Скорее всего на самом деле вкралась ошибка с какой нибудь русской буквой, или лишним пробелом или т.д.
Потому что если у тебя компьютер (windows fax viewer) показывает картинку а <img src='img.gif' /> нет, то увы форумом ты ошибся.
\n\n(Добавление)
Если windows и <img src='img.gif' /> показывают картинку,
то разместите тут кусок кода отвечающий за генерацию пути к картинке,
только с уже определенными переменными.
Тоесть так чтоб нам с Евгением не пришлось идти искать в мануле что из себя представляет та или иная переменная.
----- Truly yours, Sasha.
CyberBoss
Отправлено: 19 Февраля, 2007 - 22:20:43
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Февр. 2007 Откуда: Boston, USA
Помог: 0 раз(а)
<table border="0" cellpadding="0" cellspacing="2" class="bar_default" align=center class=td2>
<tr valign="top">
<? while ( $photov = mysql_fetch_assoc( $photo_ ) ) {
$photov[ext] = htmlspecialchars($photov[ext]); //ext поле в базе хранящее расширение
вот вроде всё...
видовс отображает картинку
<img src='img.gif' > тоже показывает картинку если запускаю его на компе как простой хтмл файл
</table>\n\n(Добавление)
хмм вроде все переменные понятны..
вот единственное ещё
$photo_ = mysql_query( "SELECT * FROM banners_net1" );
\n\n(Добавление)
ЛЮЮДИИИ!!!!! ПЛИИЗ!! Я ТАМ ВЫКЛАЫДВАЛ КОД!
НЕСОЧТИТЕ ЗА ТРДУД! ПОПРОБУЙТЕ У СЕБЯ ЕГО ЗАПУСТИТЬ И ПОПРОБЫВАТЬ! ЭТО НЕ ДОЛГО НО БУДУ ВАМ СИЛЬНО БЛАГОДАРЕН!
щас вообще нахожусь в состояни жуткого тупика!!!!
вот структура таблицы
CREATE TABLE banners_net1 (
ban_id int(10) unsigned NOT NULL auto_increment,
usr_id int(10) unsigned NOT NULL default '0',
ext char(3) NOT NULL default '',
KEY ban_id (ban_id)
) TYPE=MyISAM;
папка с баннерами (куда всё загружается)
соответственно
banners/gif/
banners/jpg/
banners/png/
banners/swf/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.