Проблема то в том, что я заранее не знаю сколько в директории файлов и как они называются. chmod ("/somedir/somefile", 0755); - это конечно здорово, но somefile - неизвестно.
Господа, подскажите если знаете. ДАНО: директория на серваке с файлами, имя первой известно, файлов нет (они генерируются рандомно). ВОПРОС: програмно поменять CHMOD у всех файлов находящихся в вышеуказанной дир. например на 640, КАК ЭТО СДЕЛАТЬ (на PHP естественно)? :confused:
После долгих мучений все заработало, я использую функции и при передаче параметров приходится очень много лишнего тащить, избавиться от этого можно если передавать массив в getPages($total, $page, $linc, $pp , $array), но почему-то массив не передается как передать массив $array[$i] - всего-то?
У меня уже параноя скоро начнется, измучился, вообщем добился я того чтобы на странички разбивалось все что надо, пришлось в параметре getPages($total, $page, $linc, $pp , $tttt); добавить еще одну возвращаемую переменную ($tttt- количество записей), но возникла другая проблемма, возможно я не с внимательно читаю оитературу, но ради бога объясните почему например test.php
INCLUDE \'bbb.inc\' ----- ---- print "$www";
?>
____________________ bbb.inc
GLOBAL $www; -------- $www=666; ?> _____________________
переменная не видится, во вторых почему иногда в годе пишется php, а иногда нет в книгах молчек. В третьих обясните как сделать чтобы переменные были видны из включаемых библиотек, И самое интересное, допустим есть массив $array=//// ну вообщем в нем много всего $array[1]=1 array[2]=2 и т.п.
почему он толком не передается при ааа($array) - function в каком-нибудь INCLUDе
Или возвращаясь к началу разговора getPages($total, $page, $linc, $pp , $array); массив не передается. __________________________________________________ Короче господа, если не лень научите обявлять глобальные массивы и передавать их целиком в какие-нибудь управляющие функции. И что за зверь return т.к. его вызов ни к чему хорошему не приводит, я всегда пологал, что эта ф-ция возвращает значение функции и прерывает ее действие, но тут что-то похитрее.... PS/ Если так и дальше пойдет плюну на разбиение постраничное и выложу так как есть ;(
Alien это я пишу еще до теста твоего примера, если делать как я писал выше, то ошибка кроется в потере переменных, т.е. при вызове функии getpages, (хоть include, хоть в теле php, который вызываем) например
$i=0; while ($i<1000) { $i++; $array[$i]=$i; } if(!isset($page)) $page = 1; //если $page не существует, то $page=1 $pp = 50; // всего на страницу $total = sizeof($array); // всего записей (число элементов массива $array) $res = intval($total / $page); //целочисленное значение переменной в десятичной системе счисления. $rem = $total % $page; //остаток от деления
if($rem > 0) { $res++; }
$pages = $res; // получили кол-во страниц $npst = ($page-1)*$pp; // в начале 0 $print_pages = getPages($total, $page, "$PHP_SELF?&", $pp); //задействовали функцию print "
"; print "
"; print "
$print_pages
"; print "
"; print "
"; for($i=$npst;$i<($npst+$pp);$i++) { print "
"; print "
"; print "
$array[$i]
"; print "
"; print "
";
} ?> PHP:-------------------------------------------------------------------------------- Вот ример который приведен выше он работает, но как только я изменяю while ($i<1000) { $i++; $array[$i]=$i; } положем на
while ($i<$kolvo) { $i++; $array[$i]=$i; }
где $kolvo задается не явно ($kolvo=1000;), а передается из другой формы, то превое отображение в норме (первый вызов getpages), но второе и последующее к сожалению нет. Проследил теряется значение $kolvo, попытался обозвать GLOBAL, ноль имоций и даже STATIC, как сделать чтобы getpages заодно возвращала и другие преременные, пускай переданные ей насельно и не используемые getPages($total, $page, "link", $pp, $kolvo) ?
$i=0; while ($i<1000) { $i++; $array[$i]=$i; } if(!isset($page)) $page = 1; //если $page не существует, то $page=1 $pp = 50; // всего на страницу $total = sizeof($array); // всего записей (число элементов массива $array) $res = intval($total / $page); //целочисленное значение переменной в десятичной системе счисления. $rem = $total % $page; //остаток от деления
if($rem > 0) { $res++; }
$pages = $res; // получили кол-во страниц $npst = ($page-1)*$pp; // в начале 0 $print_pages = getPages($total, $page, "$PHP_SELF?&", $pp); //задействовали функцию print "
"; print "
"; print "
$print_pages
"; print "
"; print "
"; for($i=$npst;$i<($npst+$pp);$i++) { print "
"; print "
"; print "
$array[$i]
"; print "
"; print "
";
} ?> Пример работает на ура, большое спасибо, НО моя проблема заключается в том, то вышеуказанный код вызывается не из самого скрипта, а из библиотеки ( и является функцией). Например код находится в файле test.inc и заключен между function view() { .............. ............. } Тогда...---->
Untitled
INCLUDE("test.inc") view(); ?>
Почему-то в этом случае выводиться заголовок, выводится первая страница, но при нажатии на ссылочки (1 2 3 ...) не происходит. Как с этим бороться? Мне кажется, что дело в "$PHP_SELF?&", но я не уверен. ПОМОГИТЕ ПОЖАЛУЙСТО.....
Господа, помогите, предположем есть массив $massiv=($test); //например для простоты //в нем порядка 1000 элементов //необходимо их вывести постранично
что нибудь в духе $i=0 while ($i<1000) print"$massiv=($test);" $i++; endwhile;
выводит весь "фарш" на одной странице (а надо разбить). Прочитав все сказанное по этому вопросу в FAQ я так и не понял как мне сделать постраничный вавод