Изучение PHP

Вопросы по программированию
Сообщение
Автор
Аватара пользователя
Сергей В.
Аксакал
Сообщения: 2282
Зарегистрирован: 23 окт 2009 23:50 pm
Репутация: 26
Откуда: Прекрасное далёко.

Изучение PHP

#1 Сообщение Сергей В. » 22 фев 2010 23:24 pm

Код: Выделить всё

 <?php
include 'text1.txt';
?>
почему не заработало?

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#2 Сообщение Mamucho666 » 22 фев 2010 23:29 pm

Сергей, я тебе сказал, напиши эту строчку, она у тебя не заработает...
Обещал объяснить почему....
Чёрт...

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#3 Сообщение Mamucho666 » 22 фев 2010 23:36 pm

Всё дело в том, что папка для вложений по умолчанию на апаче (на денвере соотвественно)(ну и естественно у пшп)))) настроена на другую папку.
Что бы это исправить есть два способа, либо создать конфигурационный файл .htaccess и дать ему права в httpd.conf, либо подправить php.ini.
Мне больше нравится с php.ini.
Файл лежит тут Z:\usr\local\php5
В нём в строках 457-463 есть конфигурация папок вложений. Исправь там папку на нужную тебе. К примеру сделай одну inc и получится вот это:

Код: Выделить всё

; UNIX: "/path1:/path2"
include_path = ".;Z:/home/твой сайт/www/inc"
;
; Windows: "\path1;\path2"
;include_path = ".;Z:\home\твой сайт\www\inc;"
И обрати внимание что слеши в разные стороны, не всегда принципиально... но всё таки.
P.S. Можно добавить много папок через точку с запятой.
P.P.S. Апач на денвере такую настройку не умеет почему-то делать(((

Аватара пользователя
Сергей В.
Аксакал
Сообщения: 2282
Зарегистрирован: 23 окт 2009 23:50 pm
Репутация: 26
Откуда: Прекрасное далёко.

#4 Сообщение Сергей В. » 22 фев 2010 23:39 pm

Кажись догнал.. попрбую

Аватара пользователя
Сергей В.
Аксакал
Сообщения: 2282
Зарегистрирован: 23 окт 2009 23:50 pm
Репутация: 26
Откуда: Прекрасное далёко.

#5 Сообщение Сергей В. » 22 фев 2010 23:48 pm

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

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#6 Сообщение Mamucho666 » 23 фев 2010 00:36 am

По PHP русскоязычная публика вообще не хочет делиться знаниями. Посылает с одного форума на другой, или гуглить. В гуле ссылки на эти форумы. Однако при всём при этом сидят на своих форумах напыженные как воробьи на морозе и корчат профи (а может они и есть профи, вот только корчить зачем?).
Если по html и css можно было в инете что-то вразумительное почитать, то по php только книги.

Аватара пользователя
serg-smirnoff
Капитан Корабля
Сообщения: 8623
Зарегистрирован: 07 май 2005 21:17 pm
Репутация: 302

#7 Сообщение serg-smirnoff » 23 фев 2010 00:55 am

Mamucho666 писал(а):По PHP русскоязычная публика вообще не хочет делиться знаниями. Посылает с одного форума на другой, или гуглить. В гуле ссылки на эти форумы. Однако при всём при этом сидят на своих форумах напыженные как воробьи на морозе и корчат профи (а может они и есть профи, вот только корчить зачем?).
Если по html и css можно было в инете что-то вразумительное почитать, то по php только книги.
А чем тебе http://php.su/ не угодил? Как прочтешь хотя бы одну книгу по PHP, так и иди на форумы с вопросами.

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#8 Сообщение Mamucho666 » 23 фев 2010 02:14 am

serg-smirnoff писал(а):А чем тебе http://php.su/ не угодил?
Если ты про форум, то как-то не очень по доброму там к новичкам...
Если про учебник, то он мне не очень понравился(((
serg-smirnoff писал(а):Как прочтешь хотя бы одну книгу по PHP
Чем собственно и занимаюсь)))
P.S. PHP c javascript наверно убойная вещь.

Аватара пользователя
Сергей В.
Аксакал
Сообщения: 2282
Зарегистрирован: 23 окт 2009 23:50 pm
Репутация: 26
Откуда: Прекрасное далёко.

#9 Сообщение Сергей В. » 23 фев 2010 03:16 am

Mamucho666 писал(а):По PHP русскоязычная публика вообще не хочет делиться знаниями. Посылает с одного форума на другой, или гуглить. В гуле ссылки на эти форумы. Однако при всём при этом сидят на своих форумах напыженные как воробьи на морозе и корчат профи (а может они и есть профи, вот только корчить зачем?).

Если по html и css можно было в инете что-то вразумительное почитать, то по php только книги.
вово.. книги, даже с названием "для чайников" написаны на языке понятном программистам..
Mamucho666 писал(а):Чем собственно и занимаюсь)))
ага

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#10 Сообщение Mamucho666 » 24 фев 2010 23:29 pm

Я сегодня в нете искал скрипт PHP себе на страницу, что бы ссылки назад, наверх, вперёд были...
Не нашёл, пришлось делать самому.
Смысл скрипта в том, что если в той папке, где страница, имя файла которой он получил лежат файлы
index
etap1
etap2
etap3
etap4
он на каждой странице создаст ссылку на предыдущую (если исходная страница index, ссылка на предыдущую создаваться не будет), наверх (просто ссылка на эту же страницу), вперёд.
То есть скажем на странице etap1
окажутся ссылки на index etap1 etap2.
Если вдруг кому надо... то вот:
Это вставляется в страницу

Код: Выделить всё

<?php
$filenamemain=__file__;
$obshname="общее для всех файлов (кроме index) имя, к примеру etap";  
include($_SERVER['DOCUMENT_ROOT'].'/папка с скриптом/имя файла');
?>
Это сам скрипт

Код: Выделить всё

<?php
echo "<hr>";
#Пользователем присваивается общее имя файлов $obshname.
$numb="1";  #Начало отсчёта порядкового номера файла.
$ras="php"; #Расширение файлов.
#Проверка на имя страницы (index или нет).
$filename=$filenamemain; #Получаем имя файла.
$filename=stristr($filename,"index"); #Отсекаем имя файла до символов index, если такого слова в имени нет, имя файла станет нулевой длины.
$leng=strlen($filename); #Получаем длину имени файла после отсечения.
If ($leng==0) #Если длина имени файда=0, то это не index.
{ #Выполняется если длина имени файла 0 (этот файл не index).
#Находим номер файла.
$filenumber=$filenamemain; #Получаем имя файла.
$pos1=strrpos($filenumber,$obshname); #Получаем позицию начала общего имени файла .
$pos1=$pos1+(strlen($obshname)); #Получаем позицию конца общего имени файла (начала номера файла).
$filenumber=substr($filenumber,$pos1); #Получаем конец файла, начиная с его номера.
$filenumber=strrev($filenumber); #разворачиваем полученный конец файла.
$pos2=strlen($ras); #Получаем позицию соприкосновения расширения с номером файла.
$filenumber=substr($filenumber,$pos2); /*Получаем оставщийся конец файла - его номер с точкой слева 
(точку сразу убрать нельзя, так как многие бесплатные сервера довольно криво настроены,
и автоматом добавят сюда относительный путь к вашему сайту, что не есть гуд...)*/
$filenumber=substr($filenumber,1); #Получаем конец файла без точки
if ($filenumber==$numb) #Если эта страница имеет начальный номер файлов, то перед ней идёт index
{ #Выполняется если эта страница первая, то есть перед ней index
echo '<a href="'.'index'.'.'.$ras.'">Назад</a>||||||';
echo '<a href="'.$obshname.$filenumber.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshname.($filenumber+1).'.'.$ras.'">Вперёд</a>||||||';
}
else
{ #Выполняется если эта страница не первая и index перед ней нету.
echo '<a href="'.$obshname.($filenumber-1).'.'.$ras.'">Назад</a>||||||';
echo '<a href="'.$obshname.$filenumber.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshname.($filenumber+1).'.'.$ras.'">Вперёд</a>||||||';
}
} #Выполняется если эта страница - index
else
{
echo '<a href="'.'index'.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshname.$numb.'.'.$ras.'">Вперёд</a>||||||';
}
echo "<hr>";
?>
P.S. PHP второй день изучаю, не пинайте))) Предложения по улучшению радостно принимаются)))

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#11 Сообщение Mamucho666 » 26 фев 2010 20:33 pm

Переделал. Сам ищет разрешение, общее имя файла ($obshname) надо указывать теперь только на главной странице, на остальных находит общее имя сам, теперь одинаково хорошо работает как на линуксовых серверах, так и на виндовых (была проблема с косой чертой).
И оцените хоть кто нибудь! Неужели ни у кого нету советов что нибудь допилить...

Код: Выделить всё

<?php
#Пользователем присваивается общее имя файлов на странице index $obshname.
#Горизонтальная черта
echo "<hr>";
#Пользовательские значения
$numb="1";  #Начало отсчёта порядкового номера файла.
#Код скрипта
$pos=(strrpos($filenamemain,".")+1); #Получаем позицию начала расширения
$ras=substr($filenamemain,$pos); #Получаем расширение
if (!ereg("index\.($ras)$",$filenamemain))
{ #Если эта страница не index
#Находим общее имя
for ($cyklobshname=0;$cyklobshname<=9;$cyklobshname++)
{ #Находим расстояния от начала абсолютного пути до порядкового номера (чисел от 1 до 9)  
$pos=strrpos($filenamemain,"$cyklobshname");
$posobshname[$cyklobshname]=$pos;
}
rsort($posobshname); /*Меньшее расстояние - расстояние до самого первого числа,
то есть до конца общего имени файла, поэтому находим наименьшее расстояние
путём сортировки данных в массиве по убыванию*/
$pos=((strlen($filenamemain))-($posobshname[0])); #Расстояние от конца абсолютного пути до начала порядкового номера
$obshnameauto=strrev($filenamemain); #Разворачиваем строку, что бы отсечь расширение и порядковый номер
$obshnameauto=substr($obshnameauto,$pos); #Отсекаем расширение с номером
$obshnameauto=strrev($obshnameauto); #Снова разворачиваем строку
if (ereg(".*/.*",$filenamemain)) #Определение типа косой черты
{ #Если сервер на Linux
$pos=((strrpos($obshnameauto,"/"))+1); #Позиция начала общего имени файлов
}
else
{ #Если сервер Windows
$pos=((strrpos($obshnameauto,"\\"))+1); #Позиция начала общего имени файлов
}
$obshnameauto=substr($obshnameauto,$pos); #Отсекаем всё после последней косой черты - получаем общее имя файла.
#Находим номер файла.
$pos=(strrpos($filenamemain,$obshnameauto))+(strlen($obshnameauto)); #Получаем позицию начала порядкового номера файла.
$filenumber=substr($filenamemain,$pos); #Получаем номер файла и его расширение.
$filenumber=strrev($filenumber); #Разворачиваем полученный конец файла (что бы сервер не опознал)
$pos=((strlen($ras))+1); #Получаем позицию соприкосновения расширения с номером файла.
$filenumber=substr($filenumber,$pos); #Получаем номер файла
if ($filenumber==$numb)
{ #Выполняется если эта страница первая, то есть перед ней index.
echo '<a href="'.'index'.'.'.$ras.'">Назад</a>||||||';
echo '<a href="'.$obshnameauto.$filenumber.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshnameauto.($filenumber+1).'.'.$ras.'">Вперёд</a>||||||';
}
else
{ #Выполняется если эта страница не первая и index перед ней нету.
echo '<a href="'.$obshnameauto.($filenumber-1).'.'.$ras.'">Назад</a>||||||';
echo '<a href="'.$obshnameauto.$filenumber.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshnameauto.($filenumber+1).'.'.$ras.'">Вперёд</a>||||||';
}
} 
else 
{ #Выполняется если эта страница - index
echo '<a href="'.'index'.'.'.$ras.'">Наверх</a>||||||';
echo '<a href="'.$obshname.$numb.'.'.$ras.'">Вперёд</a>||||||';
}
#Горизонтальная черта
echo "<hr>";
#Очистка переменных
unset($posobshname);
unset($cyklobshname);
unset($obshname);
unset($obshnameauto);
unset($numb);
unset($ras);
unset($filenumber);
unset($filenamemain);
unset($pos);
?>

Аватара пользователя
Big_Dog
Аксакал
Сообщения: 3732
Зарегистрирован: 28 ноя 2008 04:23 am
Репутация: 80
Откуда: Щекино

#12 Сообщение Big_Dog » 26 фев 2010 20:38 pm

Mamucho666 писал(а):Неужели ни у кого нету советов что нибудь допилить...
Мамуч, простите - нету. Я сам с PHP парюсь уже две недели (для меня это непростительно долго). Но пока я в реале все не осмыслю советов не дождетесь :-)

ЗЫ: Я тоже маленько тупой в этом деле :-)

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#13 Сообщение Mamucho666 » 26 фев 2010 20:42 pm

А над чем паришься? Над чем-то очень сложным? А долго будешь париться? Я книгу успею дочитать? там 200 страниц примерно оствлось, в зависимости от сложности материала займёт 2-7 дней. Короче если не успеешь сотворить чудо, буду рад поковыряться!!!

Аватара пользователя
Big_Dog
Аксакал
Сообщения: 3732
Зарегистрирован: 28 ноя 2008 04:23 am
Репутация: 80
Откуда: Щекино

#14 Сообщение Big_Dog » 26 фев 2010 20:46 pm

Чудо творить не собираюсь - однозначно. А парюсь ради собственного развития и пополнения знаний, поэтому, пока не разберусь для себя основательно, ничем помочь не смогу.

ЗЫ: Извините, что в тему вмешался.

Аватара пользователя
Mamucho666
Старейшина
Сообщения: 6655
Зарегистрирован: 23 окт 2007 22:30 pm
Репутация: 41
Откуда: Дрожащие острова.

#15 Сообщение Mamucho666 » 26 фев 2010 20:55 pm

Очень хорошо, что вмешался, а то у темы 130 просмотров только 12 ответов.
P.S. Ты меня не понял... я последний пост писал не в просьбе о помощи, а просто хотелось узнать над чем ты паришься... повтыкать ради интереса... ну раз это секрет...

Ответить