Форум Gatchina Online

Форум Gatchina Online (http://forum.gatchina.ru/index.php)
-   Программирование и разработка (http://forum.gatchina.ru/forumdisplay.php?f=4)
-   -   Вопросник по PHP (http://forum.gatchina.ru/showthread.php?t=6686)

DemoniQ 18.11.2007 19:28

Вопросник по PHP
 
У меня проблема, требующая срочного решения:

На хостинге не работает функция strtolower() для массива, созданного с помощью функции file(). На моем сервере работает все. Может в настройках PHP на хостинге что-то нужно изменить?

PHP код:

<?php
$db 
file ("database/database.txt");
foreach (
$db){
    
strtolower($db);
    print 
$db;
}
?>

Если кто знает как решить эту проблему, помогите пожалуйста!

ΛLIEN 18.11.2007 19:44

strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.

1) file_get_contents()
2) strtolower()
3) explode () или split()

DemoniQ 18.11.2007 19:53

Цитата:

Сообщение от ALIEN (Сообщение 281148)
strtolower - входной параметр строка, а не массив. Может в последних версиях php хавает и массивы, но правильнее будет прочитать все как одну строку, конвертнуть, а потом уже разбивать на массив, если так уж хочется.

1) file_get_contents()
2) strtolower()
3) explode () или split()

Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?

DemoniQ 18.11.2007 20:06

Хм... уже не надо - я воспользуюсь нижнерегистровой копией документа... до тех пор, пока не выучу БД.

ΛLIEN 18.11.2007 20:15

Цитата:

Сообщение от DemoniQ (Сообщение 281155)
Таже фигня - у меня переводит в нижний регистр у СЗ нет. А можно сразу создать нижнерегистровый массив из файла?

Дай угадаю, косяк только с русскими буквами? =) Русская локаль не настроена у СЗ похоже. Напиши свою функцию, делов-то.


PHP код:

function toUpper($content) { 
  
$content strtr($content"абвгдеёжзийклмнорпстуфхцчшщъьыэюя"
"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ"); 
  return 
strtoupper($content); 


function 
toLower($content) { 
  
$content strtr($content"АБВГДЕЁЖЗИЙКЛМНОРПСТУФХЦЧШЩЪЬЫЭЮЯ"
"абвгдеёжзийклмнорпстуфхцчшщъьыэюя"); 
  return 
strtolower($content); 



Цитата:

Сообщение от DemoniQ (Сообщение 281155)
до тех пор, пока не выучу БД

А причем здесь БД?

DemoniQ 18.11.2007 20:21

У меня в текстовый документ построчно забиты названия и инфа по организациям. Через него на сайте организован поиск.

А по поводу русских букв, то ща проверю.

DemoniQ 18.11.2007 20:23

Блин, и правда косяк только с русскими буквами. Спасиб!

DemoniQ 01.12.2007 21:53

СРОЧНО!!!
 
Есть 2 файла:
1 - основной (тут код программы, с которой производятся все операции)
2 - файл с параметрами (много-много всяких переменных, которым присвоено много-много всяких значений)

что нужно прописать в коде файла 1, чтобы загрузить в него переменн(ую/ые) из файла 2?



Скажем, в файле 2 есть переменная
$true_admin_login = "admin";

А мне в файле 2 надо провести следующее сравнение:
if($admin_login == $true_admin_login){
...

Чего для этого надо сделать?

ΛLIEN 01.12.2007 22:03

Цитата:

Сообщение от DemoniQ (Сообщение 284609)
Чего для этого надо сделать?

Не совсем понял, что ты имеешь ввиду, но

<?php // This is file1.php

include("file2.php");
...

?>

DemoniQ 01.12.2007 22:06

Цитата:

Сообщение от ALIEN (Сообщение 284611)
Не совсем понял, что ты имеешь ввиду, но

<?php // This is file1.php

include("file2.php");
...

?>

Во, работает... значит я имел ввиду именно то, о чем ты подумал. :D :D :D
СПАСИБИЩЩЩА!!!

DemoniQ 04.12.2007 21:03

А можно с помощью PHP импортировать данные из документов Microsoft Office? Ну скажем из базы данных Access или таблиц Excel.

ΛLIEN 04.12.2007 23:23

Самый простой способ с excel - экспортировать в csv и потом в php использовать fgetcsv();

Ну или искать в сети что-то типа "PHP Excel Reader", "PHP Excel Parser".

DemoniQ 07.12.2007 00:25

Написал скрипт загрузки файлов на FTP, но никак не получается связать его с <input name='name' type='file'>

В программу возвращается переменная не с путем к выбранному файлу, а с именем файла. Что делать?

ΛLIEN 07.12.2007 00:44

В последнее время, я чувствую, что стал терять телепатические способности. :eek:

DemoniQ 07.12.2007 01:26

Цитата:

Сообщение от ALIEN (Сообщение 286062)
В последнее время, я чувствую, что стал терять телепатические способности. :eek:

Амм... ладно, поробую объяснить, не беря во внимание написанный мною скрипт. Есть страничка с формой:

Код HTML:

<form method='post'>
<input name='file' type='file'>
<input type='submit'>
</form>

И надо с помощью этой странички загрузить файл с локального компьютера на сервер. У меня не получается это сделать, ибо возвращаемая в программу переменная $file содержит не адрес файла, а его имя.
Сам же скрипт загрузки какого-либо конкретного файла с локальной машины я смог реализовать с помощью функции ftp_put() со всеми другими необходимыми для этого функциями - ftp_connect(), ftp_login().

Вот так выглядит код загрузки конкретного файла с локали на сервер:
PHP код:

<?php
#$file - конкретно заданный файл
$file "d://docs/text.txt"
$remote_file "change/text.txt"

$conn_id ftp_connect("192.168.6.203");

$ftp_user_name "Anonymous"
$ftp_user_pass NULL

$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

ftp_put($conn_id$remote_file$fileFTP_ASCII); 

ftp_close($conn_id);
?>

Но создавая переменную $file с помощью первого кода, в программу возвращается не "d://docs/text.txt", а "text.txt".

Вот собственно и суть моей проблемы.

FeD 07.12.2007 01:27

откель два слеша после d:// ?

DemoniQ 07.12.2007 01:48

Цитата:

Сообщение от FeD (Сообщение 286071)
откель два слеша после d:// ?

В предыдущем посте исправил код - с моей стороны работает. Попробуй ты (только перед этим не забудь создать файл text.txt в директории d:\\docs у себя на компьютере, а после можешь зайти на мой ftp и проверить.).
Вот страница:
http://192.168.6.203/ind3.php

DemoniQ 07.12.2007 02:04

Ну так чего, помогет кто-нибудь с формой и скриптом под нее?

Хм... кто-нибудь по ссылке выше переходил? А то у меня уже складывается впечатление, что он с сервака на сервак гоняет.

ΛLIEN 07.12.2007 02:17

Что-то я не припомню, чтобы в php скрипт передавался полный путь файла на клиентской машине. По крайней мере, через переменную $_FILES полный путь точно не передается.

Единственное что я не понял нахрена тебе ftp_put() файл и так посредством формы перемещается на сервер через метод post?

DemoniQ 07.12.2007 02:22

А есть альтернативный способ загрузки выбранного с помощью <input type='file' name='file'> файла?

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

ΛLIEN 07.12.2007 02:32

Вот тебе простенький пример загрузки файла на сервер

PHP код:

<html>
<head>Upload</head>
<body>
<h3>Upload</h3>
<?php
    
if(isset($HTTP_POST_VARS['submit'])) {
        echo 
"Name:".$_FILES['userfile']['name']."<br>";
        echo 
"Type: ".$_FILES['userfile']['type']."<br>";
        echo 
"Size: ".$_FILES['userfile']['size']."<br>";
        echo 
"Error: ".$_FILES['userfile']['error']."<br>";
        
move_uploaded_file($_FILES['userfile']['tmp_name'],
            
"/имя/папки/в/которую/надо/переместить/файл/".$_FILES['userfile']['name']);
    }
    else {
        echo <<< TTEXT
        <form enctype="multipart/form-data" action="upload.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="1000">
        File: <input name="userfile" type="file">
        <input type="submit" name="submit" value="Send">
        </form>
TTEXT;
    }    
?>
</body>
</html>

<input name="userfile" type="file"> и так уже загружает файл на сервер во временную папку. Остается только перенести его, т.к. после окончания php сессии временный файл будет удален автоматически.

DemoniQ 07.12.2007 02:41

Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.

ΛLIEN 07.12.2007 02:43

Цитата:

Сообщение от DemoniQ (Сообщение 286084)
Дааааа... простенький примерчик. Не работает твой простенький примерчик. Одну ошибку я нашел, а другие - слабоват.

У меня он замечательно работает. Только, что проверил. =)

DemoniQ 07.12.2007 02:43

у меня копируется с лишними пробелами... ща подкорректирую - посмотрю.

DemoniQ 06.01.2009 05:10

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

ΛLIEN 06.01.2009 05:32

Цитата:

Сообщение от DemoniQ (Сообщение 343199)
можно ли сделать так, чтобы скрипт на сервере запускался в назначенное время

Если хостер разрешает добавлять crontab, то курим $ man crontab
затем
$ crontab -e

под мастдаем "Назначенные задания".

DemoniQ 06.01.2009 06:03

Цитата:

Сообщение от ΛLIEN (Сообщение 343200)
...

Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?

Insya 06.01.2009 22:51

Цитата:

Сообщение от DemoniQ (Сообщение 343201)
Эмм... мало чего понял. Можно где-нибудь подробнее про это прочитать?

погугли по слову cron

C1FR0 05.03.2009 21:52

Вложений: 1
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.

Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.

МишGUN 05.03.2009 22:47

Цитата:

Сообщение от C1FR0 (Сообщение 348390)
Создавать новую тему не хочу. Хотя было бы логичнее убрать темы вопросников по html, css, php, javascript и создать один - интернет программирование или вопросник по сайтам.

Вообщем, мои вопросы:
1) Как сделать то, что обрамлено красным на аттаче?
2) Где на русском можно найти нормальную информацию об индексации поисковиком google, файлах sitemap и robot.txt? Желательно с примерами.
3) Можно ли получить получить 100% точное дерево расположение каталогов и файлов на каком-либо произвольно взятом сайте. Допустим, с помощью программ.
4) Есть ли способ получить исходный код php-страницы с сервера, при работающем модуле php. Также на примере произвольно взятого (не своего) сайта.

по второму пункту - www.promoforum.ru
и думаю, что вполне на остальные вопросы могут ответить и там

ΛLIEN 05.03.2009 23:51

1)
PHP код:

<p>some text</p>
<
p style="margin-left:3em">some text</p

2) robots.txt

3) Teleport Pro

4) Нет.

C1FR0 06.03.2009 14:20

Цитата:

Сообщение от ΛLIEN (Сообщение 348409)
1)
PHP код:

<p>some text</p>
<
p style="margin-left:3em">some text</p


По html/css верстке у меня вопросов нет. :D
Вопрос заключался в том, что и как сделать, чтобы для зарегистрированного тобой в google сайта, выводились схожие по структуре результаты (т.е. меню сайта и дополнительные ссылке/вложенные страницы).

Цитата:

Сообщение от ΛLIEN (Сообщение 348409)

Спасибо, вечером буду читать.

Цитата:

Сообщение от ΛLIEN (Сообщение 348409)
3) Teleport Pro

Есть способ скрыть от этой и аналогичных программ некоторые дирректории/файлы?

Цитата:

Сообщение от ΛLIEN (Сообщение 348409)
4) Нет.

Отлично!

FeD 06.03.2009 15:09

Цитата:

Сообщение от C1FR0 (Сообщение 348455)
Есть способ скрыть от этой и аналогичных программ некоторые дирректории/файлы?

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

C1FR0 06.03.2009 18:18

Цитата:

Сообщение от FeD (Сообщение 348460)
так же можно в отдельных директориях .htaccess'ом ... вовсе авторизацию внедрить

Для внутреннего доступа к этой директории, скажем при обращении php-скрипта этого же сайта (открытие файла через fopen() или include() ), тоже потребуется авторизация?

ΛLIEN 06.03.2009 18:36

Цитата:

Сообщение от C1FR0 (Сообщение 348474)
Для внутреннего доступа....тоже потребуется авторизация?

Нет. В .htaccess директивы только для вэб сервера.

C1FR0 06.03.2009 18:44

Цитата:

Сообщение от ΛLIEN (Сообщение 348475)
Нет. В .htaccess директивы только для вэб сервера.

Ага, разобрался. Спасибо!

C1FR0 30.03.2009 01:00

Какой алгоритм? Какой код?
 
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.

Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.

ΛLIEN 30.03.2009 01:28

Цитата:

Сообщение от C1FR0 (Сообщение 350291)
Дано:
Произвольная строка из формы, состоящая из адресов web-сайтов, e-mail и обычного текста.

Необходимо:
Получить новую строку, в которой все электронные адреса будут заменены на их html-код.

PHP код:

Почта Васи Пупкина vasya_pupkin@mail.server.com бла бла бла 

PHP код:

Почта Васи Пупкина <a href="mailto:vasya_pupkin@mail.server.com">vasya_pupkin@mail.server.com</aбла бла бла 

?

ΛLIEN 30.03.2009 01:34

Цитата:

Сообщение от C1FR0 (Сообщение 350293)
Точно!

PHP код:

$result ereg_replace('[\\w\\.-]+@[\\w\\.]+',
'<a href="mailto:\\0">\\0</a>'$subject); 


C1FR0 30.03.2009 01:39

Цитата:

Сообщение от ΛLIEN (Сообщение 350295)
PHP код:

$result ereg_replace
  
'[[:alnum:]_.-]+@[[:alnum:].]+'
  
'<a href="mailto:\\0">\\0</a>'
  
$subject
); 


Спасибо, Бобо! :)


Текущее время: 23:58. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc. Перевод: zCarot