PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (6): [1] 2 3 4 5 6 »
Найдено сообщений: 81
СЕРьГА
Отправлено: 18 Января, 2012 - 17:26:48 • Тема: Ошибка БД • Форум: Вопросы новичков
Ответов: 4 Просмотров: 298
Цитата: открой напрямую для проверки через mysql_connect
Цитата: я работаю с Navicat, там открывается.
извините, я сначала не так понял вас. да, я попробовал открыть через mysql_connect. Всё то же самое(
СЕРьГА
Отправлено: 18 Января, 2012 - 11:47:15 • Тема: Ошибка БД • Форум: Вопросы новичков
Ответов: 4 Просмотров: 298
caballero пишет: значит правов нет на такую БД
почему это?
Цитата: или неправильно задано имя или еще чего
несколько раз уж проверял - всё правильно.
Цитата: открой напрямую для проверки через mysql_connect
я работаю с Navicat, там открывается.
СЕРьГА
Отправлено: 18 Января, 2012 - 11:08:41 • Тема: Ошибка БД • Форум: Вопросы новичков
Ответов: 4 Просмотров: 298
Здравствуйте! У меня вот какая проблема... Сделал я значит базу данных "cicms"', прописал его, как и положено, в файле database.php (движок у меня CodeIgniter), запускаю в браузере контроллер, в котором вызывается таблица с этой БД, но браузер выводит сообщение:
Ошибка БД
Невозможно выбрать базу данных cicms
Помогите, пожалуйста!
СЕРьГА
Отправлено: 25 Октября, 2011 - 20:19:09 • Тема: Использование библиотекаря • Форум: Если скрипт не работает
Ответов: 4 Просмотров: 2360
Извините, я забыл написать что подключаю эту функцию через этот обработчик:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
// Прежде всего, устанавливаем свои каталоги поиска модулей.
// Это, по нашей договоренности, — текущий в данный момент каталог.
// Проверяем, не пытается ли пользователь запустить обработчик напрямую,
// минуя Apache — например, путем набора в браузере адреса
// /lib/libhandler.php. Так как адрес, введенный пользователем,
// всегда передается в переменной окружения REQUEST_URI, то нужно
// "бить тревогу", если переданная строка адреса встречается
// в имени файла обработчика (причем в любом регистре символов).
// Мы не забыли отрезать в этой строке часть после ?, потому что
// она будет мешать при сравнении с именем файла.
// К сожалению, похоже, это единственный переносимый между операционными
// системами способ проверки легальности запуска обработчика.
$FileName = strtr ( __FILE__ , "\\ " , "/" ) ; // Выводим сообщение об ошибке
include "libhandler.err" ;
// Записываем в журнал данные о пользователе
$f = fopen ( "libhandler.log" , "a+" ) ; fputs ( $f , date ( "d.m.Y H:i.s" ) . " $REMOTE_ADDR - Access denied\n " ) ; // Завершаем работу
}
// Все в порядке — корректируем переменные окружения в соответствии
// с запрошенным пользователем адресом.
$GLOBALS [ "HTTP_ENV_VARS" ] [ "REQUEST_URI" ] =
$GLOBALS [ "REQUEST_URI" ] =
) ;
$GLOBALS [ "HTTP_ENV_VARS" ] [ "QUERY_STRING" ] =
$GLOBALS [ "QUERY_STRING" ] =
) ;
// Подключаем библиотекарь
include "librarian.phl" ;
// Здесь можно выполнить еще какие-нибудь действия...
// . . .
// Запускаем тот сценарий, который был запрошен пользователем
include $SCRIPT_FILENAME ;
?>
а в файле .htaccess я написал вот это:
CODE (
htmlphp ):
скопировать код в буфер обмена
# Сначала связываем имя обработчика с конкретным файлом.
# Знак "?" говорит серверу, что исходный URL запроса следует
# передать сценарию методом GET, т. е. через QUERY_STRING.
Action libhandler "/lib/libhandler.php?"
# Теперь уведомляем сервер, документы какого типа мы желаем
# "пропускать" через наш обработчик.
AddHandler libhandler . html . htm
СЕРьГА
Отправлено: 25 Октября, 2011 - 12:27:49 • Тема: Использование библиотекаря • Форум: Если скрипт не работает
Ответов: 4 Просмотров: 2360
Viper пишет: Вам же четко написали что нет такой функции Uses()
как нет? а это?:
CODE (
htmlphp ):
скопировать код в буфер обмена
// Загружает указанную библиотеку функций. Для поиска файла
// просматривает каталоги в массиве $INC.
function Uses( $libname )
{ global $INC ;
static $PrevINC = "" ; // значение $INC при предыдущем входе
static $LastFound = 0 ; // для ускорения работы
// Переводим все пути в $INC в относительные — вдруг вызывающая
// программа добавила что-нибудь в массив?..
AbsolutizeINC( ) ;
// Теперь просматриваем пути, начиная с того, по которому была
// найдена какая-нибудь предыдущая загруженная библиотека. Скорее
// всего, там окажется загружаемый сейчас модуль. Если нет —
// что же, просмотрим весь список...
$l = $LastFound ;
do {
// В очередном каталоге есть файл модуля?..
$dir = $INC [ $LastFound ] ;
if ( @ is_file ( $file = "$dir /$libname ." . LibExt
) ) { // Сменить каталог на тот, в котором расположен модуль
// Делаем доступными для модуля все глобальные переменные
foreach ( $GLOBALS as $k => $v ) global $$k ;
// Включаем файл
$ret = include_once ( $file ) ;
// Пока не вернулись в предыдущий каталог, перевести
// добавленные (возможно?) пути в $INC в абсолютные
AbsolutizeINC( ) ;
// Вернуться
return $ret ;
}
$LastFound = ( $LastFound + 1
) % count ( $INC ) ; } while ( $LastFound != $l ) ;
// Ничего не вышло — "умираем"...
die ( "Couldn't find library \" $libname \" at " . join ( ", " , $INC ) . "!" ) ; }
// Корректируем некоторые переменные окружения, которые могут иметь
// неверные значение, если PHP установлен не как модуль Apache
$GLOBALS [ "HTTP_ENV_VARS" ] [ "SCRIPT_NAME" ] =
$GLOBALS [ "SCRIPT_NAME" ] =
) ;
$GLOBALS [ "HTTP_ENV_VARS" ] [ "SCRIPT_FILENAME" ] =
$GLOBALS [ "SCRIPT_FILENAME" ] =
Url2Path
( getenv ( "SCRIPT_NAME" ) )
) ;
// На всякий случай включаем максимальный контроль ошибок
// ВНИМАНИЕ! После следующего закрывающего тэга
// не должно быть НИКАКИХ ПРОБЕЛОВ! В противном случае
// сценарий, подключающий библиотекаря, будет выводить в самом
// начале своей работы этот пробел, что недопустимо при
// работе с Cookies.
}
СЕРьГА
Отправлено: 24 Октября, 2011 - 21:40:37 • Тема: Использование библиотекаря • Форум: Если скрипт не работает
Ответов: 4 Просмотров: 2360
Здравствуйте!) И снова я) Пытаюсь открыть с помощью библиотекаря модуль, находящийся в другом файле, но не получается. Это сценарий, в котором я использую библиотекарь:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
Uses( "files.phl" ) ; // подключаем модуль files.phl
// Все — теперь можно использовать модуль
$Content = ReadAllFile( "txt.txt" ) ; // читаем весь файл myfile.txt
$Hash = ReadKeyValFile( "keyval.txt" ) ; // читаем файл формата key=value
// ... и другие функции, которые, возможно, присутствуют в модуле
echo $Content ;
?>
а это сам библиотекарь:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
// Расширение библиотечных файлов по умолчанию
// Пути поиска библиотек. Если начинаются с точки, то поиск
// ВСЕГДА ведется относительно текущего каталога, даже если его
// сменят, в противном случае при следующем вызова Uses() будет
// выполнен перевод пути в абсолютный.
// Функция преобразует указанный относительный путь в абсолютный.
// Если путь уже является абсолютным (т. е. отсчитывается от корневого
// каталога системы), то с ним ничего не происходит, в противном случае
// используется имя текущего каталога (или заданного в $cur) с
// необходимыми преобразованиями. Существование файла с полученным полным
// именем не проверяется. Функция лишена некоторых недостатков
// встроенной в PHP realpath() и имеет по сравнению с ней несколько
// большие возможности, работая, правда, чуть медленнее.
function GetAbsPath( $name , $cur = "" ) { return abs_path( $name , $cur ) ; }
function abs_path( $name , $cur = "" )
{ // Преобразуем обратные слэши в прямые
// Сначала разбиваем путь по знакам "/"
$Path = ( $cur === "" ?getcwd ( ) : $cur ) ; // начальный каталог поиска foreach ( $Parts as $i => $s ) if ( $s != "." ) {
// Признак корневого каталога?
if ( ! $i && ( strlen ( $s ) > 1&& $s [ 1 ] == ":" || $s == "" ) ) $Path = $s ; // Ссылка на родительский каталог?
elseif ( $s == ".." ) {
// Если это уже корневой каталог, то куда спускаться?..
if ( strlen ( $Path ) > 1 && $Path [ 1 ] == ":" ) continue ; // Иначе используем dirname()
if ( $p == "/" || $p == "\\ " || $p == "." ) $Path = "" ; else $Path = $p ;
}
// Иначе просто имя очередного каталога
elseif ( $s !== "" ) $Path .= "/$s " ;
}
return ( $Path !== "" ?$Path : "/" ) ;
}
// Преобразует URL в абсолютный файловый путь.
// Т. е. если адрес начинается со слэша, то результат рассматривается
// по отношению к каталогу DOCUMENT_ROOT, а если нет — то относительно
// dirname($SCRIPT_NAME). Конечно, функция не безупречна (например, она
// не умеет обрабатывать URL, заданные Alias-директивами Apache, но в
// большинстве случаев это и не нужно.
function Url2Path( $name )
{ $curUrl = dirname ( $GLOBALS [ "SCRIPT_NAME" ] ) ; $url = abs_path( trim ( $name ) , $curUrl ) ; return getenv ( "DOCUMENT_ROOT" ) . $url ; }
// Превращает все пути в списке $INC в абсолютные, однако делает это
// не каждый раз, а только если массив изменился с момента последнего
// вызова.
function AbsolutizeINC( )
{ global $INC ;
static $PrevINC = "" ; // значение $INC при предыдущем входе
// Сначала проверяем — изменился ли $INC. Если да, то преобразуем
// все пути в массиве в относительные, иначе ничего не делаем.
// Нам это нужно только из соображений повышения производительности
// функции.
if ( $PrevINC !== $INC ) {
// Мы не можем использовать foreach, т. к. нам надо
// модифицировать массив
for ( $i = 0 ; $i < count( $INC ) ; $i ++ ) {
$v =& $INC [ $i ] ;
if ( $v [ 0 ] == "." && ( strlen ( $v ) == 1 || $v [ 1 ] == '\\' || $v [ 1 ] == '/' ) ) continue ;
$v = abs_path( $v ) ;
}
// Запоминаем текущее состояние массива
$PrevINC = $INC ;
}
}
// Загружает указанную библиотеку функций. Для поиска файла
// просматривает каталоги в массиве $INC.
function Uses( $libname )
{ global $INC ;
static $PrevINC = "" ; // значение $INC при предыдущем входе
static $LastFound = 0 ; // для ускорения работы
// Переводим все пути в $INC в относительные — вдруг вызывающая
// программа добавила что-нибудь в массив?..
AbsolutizeINC( ) ;
// Теперь просматриваем пути, начиная с того, по которому была
// найдена какая-нибудь предыдущая загруженная библиотека. Скорее
// всего, там окажется загружаемый сейчас модуль. Если нет —
// что же, просмотрим весь список...
$l = $LastFound ;
do {
// В очередном каталоге есть файл модуля?..
$dir = $INC [ $LastFound ] ;
if ( @ is_file ( $file = "$dir /$libname ." . LibExt) ) { // Сменить каталог на тот, в котором расположен модуль
// Делаем доступными для модуля все глобальные переменные
foreach ( $GLOBALS as $k => $v ) global $$k ;
// Включаем файл
$ret = include_once ( $file ) ;
// Пока не вернулись в предыдущий каталог, перевести
// добавленные (возможно?) пути в $INC в абсолютные
AbsolutizeINC( ) ;
// Вернуться
return $ret ;
}
$LastFound = ( $LastFound + 1) % count ( $INC ) ; } while ( $LastFound != $l ) ;
// Ничего не вышло — "умираем"...
die ( "Couldn't find library \" $libname \" at " . join ( ", " , $INC ) . "!" ) ; }
// Корректируем некоторые переменные окружения, которые могут иметь
// неверные значение, если PHP установлен не как модуль Apache
$GLOBALS [ "HTTP_ENV_VARS" ] [ "SCRIPT_NAME" ] =
$GLOBALS [ "SCRIPT_NAME" ] =
) ;
$GLOBALS [ "HTTP_ENV_VARS" ] [ "SCRIPT_FILENAME" ] =
$GLOBALS [ "SCRIPT_FILENAME" ] =
Url2Path( getenv ( "SCRIPT_NAME" ) )
) ;
// На всякий случай включаем максимальный контроль ошибок
// ВНИМАНИЕ! После следующего закрывающего тэга
// не должно быть НИКАКИХ ПРОБЕЛОВ! В противном случае
// сценарий, подключающий библиотекаря, будет выводить в самом
// начале своей работы этот пробел, что недопустимо при
// работе с Cookies.
}
?>
а это модуль files.phl:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
// Внимание! Так указывается дополнительный каталог для поиска модулей.
// Запись означает, что библиотекарь должен искать модули также и в
// подкаталоге OtherModules/dk текущего каталога
$INC [ ] = "OtherModules/dk" ;
// Подключение каких-то других модулей, в которых нуждается files.phl
Uses( "SomeOtherModule" ) ;
Uses( "AndOtherModuleToo" ) ;
// Константа: символы перевода строки
// Читает все содержимое файла $fname и возвращает его
function ReadAllFile( $fname )
{ $f = fopen ( $fname , "r" ) ; if ( ! $f ) return "" ; return $Cont ;
}
// Читает файл $fname, строки которого имеют формат
// ключ1=значение1
// Возвращает ассоциативный массив с указанными в файле ключами
function ReadKeyValFile( $fname )
foreach ( $Cont as $i => $st ) {
if ( ! ereg ( "^([^=]+)=(.*)" , $st , $regs ) ) continue ; }
return $Hash ;
}
?>
При запуске браузер выводит:
Fatal error: Call to undefined function Uses() in Z:\home\localhost\www\site\lib\test.php on line 3
СЕРьГА
Отправлено: 17 Октября, 2011 - 16:20:29 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
illy пишет: смысл есть
Вот те код и аська 478761132
На локальном всё работает
Спойлер (Отобразить ) CODE (
html ):
скопировать код в буфер обмена
<html >
<body >
<form action = photo.php method = POST enctype = "multipart/form-data" >
<input type = File name = ufile size = 20 >
<input type = hidden name = act>
<input type = submit value = "Закачать новую фотографию" >
</ form >
</ html >
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
$ImgDir = "img" ; // Каталог для хранения изображений
@ mkdir ( $ImgDir , 666
) ; // Создаем, если его еще нет if ( isset ( $_POST [ 'act' ] ) ) { // Проверяем, нажата ли кнопка добавления фотографии // Копируем в папку
copy ( $_FILES [ 'ufile' ] [ 'tmp_name' ] , "$ImgDir /" . strtolower ( $_FILES [ 'ufile' ] [ 'name' ] ) ) or
die ( 'чёта не то' ) ; } // Делаем фотоальбом
$d = opendir ( $ImgDir ) ; // открываем каталог $Photos = array ( ) ; // изначально альбом пуст while ( ( $e = readdir ( $d ) ) !== false ) { // Ищим фотки if ( ! ereg ( "^(.*)\\ .(gif|jpg|png)$" , $e , $P ) ) continue ; // Это изображение GIF, JPG или PNG? $path = $ImgDir . "/" . $e ; // путь к фотке
// Вставляем изображение в массив $Photos
$Photos [ $tm ] = array ( filemtime ( $path ) , $e , $path , $sz [ 0
] , $sz [ 1
] , $sz [ 3
] ) ; } // время добавления , имя файла, его URI, ширина картинки, ее высота, width=x height=y
krsort ( $Photos ) ; // Сортируем по дате foreach ( $Photos as $Img ) { // Выводим
echo '<img src=' . $Img [ 2 ] . ' ' . $Img [ 5 ] . ' title="Добавлена ' . date ( "d.m.Y H:i:s" , $Img [ 0 ] ) . '"><br>' ; }
?>
извини, там я по неосторожности лишний символ написал(( всё работает большущее спасибо!!!
(Добавление)
illy пишет: if(!ereg("^(.*)\\.(gif|jpg|png)$",$e,$P)) continue;
откуда там $P взялось?
этот код я взял из одной книги по пхп))
СЕРьГА
Отправлено: 17 Октября, 2011 - 16:08:24 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
LIME пишет: Ребята вам есть смысл аськами обменяться ))
в аське ж неудобно коды писать))
СЕРьГА
Отправлено: 17 Октября, 2011 - 15:03:19 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
illy пишет: if(@$doUpload) {
как глобальная переменная
может из-за неё не работает. надо if($_POST['doUpload']) {
увы, всё равно(((
СЕРьГА
Отправлено: 17 Октября, 2011 - 14:14:31 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
illy пишет: А код добавил в photo.php ?
PHP:
скопировать код в буфер обмена
// Данные для вывода готовы. Дело за малым — оформить страницу.
foreach ( $Photos as $n => $Img ) {
echo '<img src=' . $Img [ 'url' ] . ' ' . $Img [ 'wh' ] . ' alt="Добавлена ' . date ( "d.m.Y H:i:s" , $Img [ 'time' ] ) . '">' ; }
ну да.
СЕРьГА
Отправлено: 17 Октября, 2011 - 13:17:28 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
illy пишет: СЕРьГА пишет: да, но как тогда должен выглядеть код отправки данных? как я понимаю, там форича уже быть не должно?
зачем он там нужен, если $Photos находится в photo.php ?
сделал, но после отправки данных лишь пустой браузер.
СЕРьГА
Отправлено: 17 Октября, 2011 - 12:27:26 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
morosit пишет: СЕРьГА пишет: а почему нет??
а откуда берется переменная $File?
как откуда?
СЕРьГА
Отправлено: 17 Октября, 2011 - 11:19:28 • Тема: Ошибка в коде • Форум: Если скрипт не работает
Ответов: 95 Просмотров: 20054
illy пишет: Фотки грузятся в папку img норм.
А вот на странице отправки фото ошибка
Warning: Invalid argument supplied for foreach() in z:\home\test1.ru\www\phpsu\sphoto.php on line 7
откуда ему брать $Photos если его нету?
вставил в photo.php
PHP:
скопировать код в буфер обмена
// Данные для вывода готовы. Дело за малым — оформить страницу.
foreach ( $Photos as $n => $Img ) {
echo '<img src=' . $Img [ 'url' ] . ' ' . $Img [ 'wh' ] . ' alt="Добавлена ' . date ( "d.m.Y H:i:s" , $Img [ 'time' ] ) . '">' ; }
и вывело фотки с датой добавления
да, но как тогда должен выглядеть код отправки данных? как я понимаю, там форича уже быть не должно?
Страниц (6): [1] 2 3 4 5 6 »
Powered by ExBB FM 1.0 RC1. InvisionExBB