Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - PHP - несколько вопросов

Ответить
Настройки темы
Разное - PHP - несколько вопросов

Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


PHP код: Выделить весь код

<?php 


$tmp_name 
' *math* '// реальный (относительный, а не абсолютный, естессно) адрес файла на сервере
$final_path $tmp_name// копия предыдущей переменной с более красивым именем


if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { // Как поля USERFILE и TMP_NAME берут свои значения? пробовал вписывать вместо tmp_name следующее: $tmp_name и final_path, что приводило к ошибке (если можно, объясни мне синтаксис процедуры is_uploaded_files, я работаю с php5)
   
echo "File "$_FILES['userfile']['name'] ." uploaded successfully.\n"// Как берётся значение NAME? это тоже стандартная переменная... и что значит \n в конце строки??
   
echo "Displaying contents\n";
   
readfile($_FILES['userfile']['tmp_name']); // что делается в этой строке?
} else {
   echo 
"Possible file upload attack: "// Что имеется ввиду под атакой? Я не совсем понимаю условия процедуры is_uploaded_files. Поясните пожалуйста.
   
echo "filename '"$_FILES['userfile']['tmp_name'] . "'.";
}
move_uploaded_file($_FILES['userfile']['tmp_name'], "$final_path"); // после исполнения php-файла, загруженных файлов в указаном каталоге (допустим, папка "content") не обнаружена, т.е. процедура move не работает или я чего-то не понимаю...

$file $_FILES['$userfile']['$tmp_name'];
$getTime date("H:i:s");
$filestat = @stat($file);
$meta id3_get_tag($file); // ID3 не установлен по умолчанию в PHP. Кажется, он устанавливается из дистрибутива PEAR? Как установить PEAR на PHP5 ? (используемый php5 встроен в Denver и используется так)
$query "INSERT INTO MediaLib(id, folder, title, albumn, performer, date, filesize, link, metadata) VALUES (NULL, " $file_dir ", " $meta['title'] . "," $meta['album'] . "," $meta['artist'] . ", " $getTime ", " $filestat['size'] . ", " $final_path ", " $meta ")";
mysql_query ($query); // должна создаться новая строка в БД (2 строки подключения к MySQL-серверу и к БД в начале скрипта я пропустил, я про них помню), где id, folder, и т.д. названия заголовков столбцов в таблице, а $file_dir - это, например, значение в столбике folder таблицы.. я правильно понимая? тут нет никаких подводных камней?

?>

В итоге, как сделать, чтобы MOVE перемещала файл в папку, адрес которой задаётся из переменной $final_path, а не выводила на экран (сейчас файл загружается в текстовом виде в окно браузера).
Как установить поддержку ID3_Tags и PEAR вообще?
Под *math*понимается некоторая функция, которая смотрит сколько было файлов в последнем каталоге, и если он заполнен, меняет адрес каталога на новый. Как написать такую функцию?

Отправлено: 20:19, 05-07-2009

 

Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата:
дописывать переменные к ссылкам в виде get-запроса link.php?a=1&b=2&c=3
Вот здесь поподробнее пожалуйста.
Как я помню, добавление переменной к ссылке делается добавлением в тег <form action="search.php"> параметра id="querty"... тогда при отправке запроса пользователем браузер выдаст ссылку вида yourhost.com/search.php?querty=введённые+пользователем+слова
Правильно понимаю?
А как в PHP эту ссылку обработать?

Отправлено: 21:22, 18-08-2009 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


То что делать это надо методом get, это я понял... но адекватного разъяснения в мануалах не нашёл, в одном месте вообще предлагают откомпилировать некий сценарий на Си:
Код: Выделить весь код
#include <stdio.h> // Включаем функции ввода/вывода
#include <stdlib.h> // Включаем функцию getenv()
void main(void) {
// получаем значение переменной окружения REMOTE_ADDR
char *RemoteAddr = getenv("REMOTE_ADDR");
// ... и еще QUERY_STRING
char *QueryString = getenv("QUERY_STRING");
// печатаем заголовок
printf("Content-type: text/htmlnn");
// печатаем документ
printf("<html><body>");
printf("<h1>Здравствуйте. Мы знаем о вас все!</h1>");
printf("Ваш IP-адрес: %s
",RemoteAddr);
printf("Вот параметры, которые Вы указали: %s",QueryString);
printf("</body></html>");
}
и поместить в cgi-bin (это ж жуть! ><)

Отправлено: 22:17, 18-08-2009 | #32


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата ManHack:
Как я помню, добавление переменной к ссылке делается добавлением в тег <form action="search.php"> параметра id="querty"... тогда при отправке запроса пользователем браузер выдаст ссылку вида yourhost.com/search.php?querty=введённые+пользователем+слова »
Не совсем так.
HTML код: Выделить весь код
<form action="search.php" method="post"> <input type="hidden" name="a" value="1" /> <input type="hidden" name="b" value="2" /> <input type="text" name="c" /> <input type="submit" value="Отправить" /> </form>

Здесь отправятся три переменные a, b и c методом post по адресу search.php после нажатия на кнопку "отправить". Т.е. адрес останется просто search.php, но переменные передадутся. Можно то же самое методом get. Тогда будет строка search.php?a=1&b=2&c=some_string
Но ведь к каждой ссылке не приделаешь форму (да ещё и избавление от кнопки влечёт за собой добавление JavaScript'а), поэтому можно напрямую генерировать такие ссылки php-скриптом. Не понимаю, какие в этом сложности.
PHP код: Выделить весь код

echo "<a href='search.php?a=" $a "&b=" $b "&c=" $c "'>ссылка</a>"


Отправлено: 04:03, 19-08-2009 | #33


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


HTML код: Выделить весь код
<link rel="stylesheet" href="/css/lamda.css?4" type="text/css" />

что значит ?4 после указания CSS-файла?... Встречал такое же и при описании используемых JavaScripts в head'е страничек....

Отправлено: 11:57, 24-08-2009 | #34


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Это обход кэша. Разработчик сайта неожиданно решил поменять дизайн, а дожидаться, пока у всех из кэша старая css'ка уйдёт - неизвестно сколько дней/месяцев/лет. Поэтому добавляет после вопроса случайное число (обычно просто на 1 больше, чем предыдущее). Адрес поменялся - браузер качает файл заново, дизайн сразу отображается новый.
И JS - то же самое. Можно и к картинкам дописывать, чтоб из кэша не брались.

Отправлено: 17:53, 24-08-2009 | #35


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Лихо

Тогда другой вопрос... уж менее по PHP...
Как узнать, какие у конкретного swf-флеша есть параметры для запуска (или ему ещё как-то информация извне может поступать?)... Декомпилировал swf-файл, но ответа на свой вопрос не получил, только кучу ужасающих скриптов и ресурсы...
И ещё один вопрос: как запускать swf-файл с параметрами? (можно через jQuery или swfobject, если по-другому никак).... Но как это делать через библиотеку jQuery с плагином jquery.flash.js или через swfobject.js мне тоже интересно

ПС> И ещё один вопрос... совсем не в тему... но как вКонтакте на страницах с музыкой аудиоплеер подгружается? там есть формочка с onclick="return operate (разные параметры, среди которых инфа о пользователе и медиафайле)" - это я понял. Но как плеер вызывается и как там, "внутри" параметры передаются понятно очень смутно... а главное как этот плеер исчезает, когда кликаешь по другой записи и появляется около новой? О.о
http://vkontakte.ru/js/audio.js
Сама флешка плеера ещё страшнее "изнутри"...
Но мне всё-равно очень хочется разобраться в их индийском коде (разумеется исключительно в ознакомительно-познавательных целях), и было бы не плохо, если б вы мне подсказали...

Отправлено: 21:57, 24-08-2009 | #36


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Кажется я задал слишком сложный или слишком глупый вопрос..... ТТ_ТТ

Отправлено: 14:03, 26-08-2009 | #37


Аватара для ManHack

Старожил


Сообщения: 361
Благодарности: 6

Профиль | Отправить PM | Цитировать


Спрошу попроще вопросик... Как сделать так, чтобы результаты поиска выдавались постранично, например, 20 результов на одну страничку?
Только сделать нормально, чтобы можно было переходить на любую страницу по их номерам, а не переключаться только между соседними. С prev- и next page я уже сделал из любопытства, надо доработать
Как обычно постраничный вывод делают? Меня алгоритм интересует, не хочу на собственных косяках учиться))

Для пущего интереса предположим, что религия запрещает изуродовать ссылку дополнительным параметром ?page=<значение>
Есть ли другие адекватныес способы?

Отправлено: 15:47, 26-08-2009 | #38


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата ManHack:
Кажется я задал слишком сложный или слишком глупый вопрос..... ТТ_ТТ »
Или не в тему (PHP).
А вообще - если вы знаете ActionScript, то вам проще написать свой плеер на флэше. Если представления не имеете, то и рассказывать бессмысленно. Ведь так?

Цитата ManHack:
Спрошу попроще вопросик... Как сделать так, чтобы результаты поиска выдавались постранично, например, 20 результов на одну страничку? »
Выше уже спрашивали - LIMIT x, 20 в конце SQL-запроса, где x - некое число, начиная с которого отсчитываются 20 записей.
Цитата ManHack:
Только сделать нормально, чтобы можно было переходить на любую страницу по их номерам, а не переключаться только между соседними. »
Вызываете 5 страницу, значит x=20*5.
Цитата ManHack:
Для пущего интереса предположим, что религия запрещает изуродовать ссылку дополнительным параметром ?page=<значение> »
Можно и просто search.php?5 передавать.
Либо search5.html или что-то подобное. В этом случае mod_rewrite для apache используется.

Отправлено: 18:15, 26-08-2009 | #39



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - PHP - несколько вопросов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Несколько вопросов по PHP ManHack Программирование и базы данных 53 24-03-2009 01:23
Несколько вопросов по ОС Master WEB Общий по Linux 33 02-08-2007 23:23
Несколько вопросов raingts Хочу все знать 2 30-01-2007 18:05
Несколько вопросов barbos Общий по Linux 8 16-12-2004 20:40
Несколько вопросов по RH 9 Frost Wolf Общий по Linux 12 07-09-2003 12:51




 
Переход