RE: Вопросы по PHP (для новичков)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-10 07:35:41.940000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
З. Ы. Подумал я сейчас, что в первую таблицу можно не только .php файлы записать, но и некоторые схожие в разных файлах элементы… Например, если у меня есть на разных страницах одинаковые формы для удаления записи из БД, было бы разумно присвоить им один и тот же атрибут id, а его уже записать в таблицу БД с доступами… Осталась неразрешенной загадка: как же сделать так, чтобы ненужные элементы DOM просто не грузились в браузер… На javascript их спрятать проще простого, но я не хочу, чтобы они присутствовали в браузере в принципе. З. З. Ы. Вспомнил о возможности "удаления" из DOM элементов с помощью JS… Но к этому способу я прибегу, если не будет другого.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-10 09:41:34.166666
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Заметил в этой системе кучу недочетов, дорабатываю 8|
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-11 11:15:10.280000
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
я вообще для статических файлов применяю несоклько другую систему прав :) у меня часть прав хранится в текстовых файлах .access как в битриксе
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-12 04:45:25.750000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Надо будет загуглить, что такое битрикс)))
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-12 18:14:46.860000
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
Вот форма загрузки файлов на сервер : <form action="./upload.php" method="post" enctype="multipart/form-data"> <p><input type="file" name="userfile" id="file"></p> <p><input type="submit" value="Загрузить фаил"></p> </form> Вот скрипт обработчик: <?php $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // Здесь мы перечисляем допустимые типы файлов $max_filesize = 524288; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб). $upload_path = './files/'; // Место, куда будут загружаться файлы (в данном случае это папка 'files'). $filename = $_FILES['userfile']['name']; // В переменную $filename заносим точное имя файла (включая расширение). $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // В переменную $ext заносим расширение загруженного файла. // Сверяем полученное расширение со списком допутимых расширений, которые мы определили в самом начале. Если расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем соответствующее сообщение. if(!in_array($ext,$allowed_filetypes)) die('Данный тип файла не поддерживается.'); // Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем выполнение программы и выдаем сообщение. if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) die('Фаил слишком большой.'); // Проверяем, доступна ли на запись папка, определенная нами под загрузку файлов (папка files). Если вдруг недоступна, то выдаем сообщение, что на папку нужно поставить права доступа 777. if(!is_writable($upload_path)) die('Невозможно загрузить фаил в папку. Установите права доступа - 777.'); // Загружаем фаил в указанную папку. if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename)) { echo 'Ваш фаил успешно загружен <a href="' . $upload_path . $filename . '">смотреть</a>'; } else { echo 'При загрузке возникли ошибки. Попробуйте ещё раз.'; } ?> Можно ли на подобе этого скрипта создать форму удаленной загрузки? Если можно, то как?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-13 15:09:28.853333
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
можно и достаточно просто. в этом тебе помогут сокеты читать тут http://forum.xakep.ru/m_1655787/tm.htm если непонятно там и каменть
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-14 01:57:23.663333
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Мда, полезная штука - сокеты)) Жаль, на учебе с ними почти не возились (читай: вообще не возились). Теперь все самому надо будет разбирать с нуля [sm=ac.gif]8|
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-14 02:06:39.596666
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
quote:
ORIGINAL: Эллурн Надо будет загуглить, что такое битрикс))) Понял, что это такое, но так и не нашел, как там хранятся права(( Можно поподробней описать?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-16 19:56:21.313333
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
Как на пхп создать в БД таблицу? Попробовал написать, но когда запускаешь скрипт, то в БД никаких таблиц не создается. В чем я накосячил? <?php $db = mysql_connect("localhost","UserName","PassWord"); mysql_select_db ("db_name",$db); $create = mysql_query("CREATE TABLE 'table_name' ( 'id' INT( 50 ) NOT NULL AUTO_INCREMENT , 'user' VARCHAR( 50 ) NOT NULL , 'date' VARCHAR( 50 ) NOT NULL , 'addr' VARCHAR( 50 ) NOT NULL , 'tel' VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( 'id' ) )", $db); ?>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-16 20:21:03.533333
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
хм… настрой в конфе отображение ошибок мускля возможно гдето тупо очепятка и попробуй так <?php mysql_connect("localhost","UserName","PassWord"); mysql_select_db ("db_name"); mysql_query("CREATE TABLE 'table_name' ( 'id' INT( 50 ) NOT NULL AUTO_INCREMENT , 'user' VARCHAR( 50 ) NOT NULL , 'date' VARCHAR( 50 ) NOT NULL , 'addr' VARCHAR( 50 ) NOT NULL , 'tel' VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( 'id' ) )"); ?> тот параметр что ты ставиш не обязательный и не для тех целей для которых ты его используеш
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-17 11:50:46.166666
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Golune пиши вот так: <?php
mysql_connect("localhost","UserName","PassWord");
mysql_select_db ("db_name");
$create = mysql_query("CREATE TABLE table_name (
id INT(50) NOT NULL AUTO_INCREMENT ,
user VARCHAR(50) NOT NULL ,
date VARCHAR(50) NOT NULL ,
addr VARCHAR(50) NOT NULL ,
tel VARCHAR(50) NOT NULL ,
PRIMARY KEY (id)
)");
?>
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-20 00:19:03.926666
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
не, лучше просто вместо " поставить такие ` кавычки
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-22 16:08:27.150000
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
quote:
ORIGINAL: horiz Golune пиши вот так: <?php
mysql_connect("localhost","UserName","PassWord");
mysql_select_db ("db_name");
$create = mysql_query("CREATE TABLE table_name (
id INT(50) NOT NULL AUTO_INCREMENT ,
user VARCHAR(50) NOT NULL ,
date VARCHAR(50) NOT NULL ,
addr VARCHAR(50) NOT NULL ,
tel VARCHAR(50) NOT NULL ,
PRIMARY KEY (id)
)");
?> И потом проверь, какое значение находится в $create. Если значение TRUE, то запрос выполняется, если FALSE - соответственно… И уже тогда хотя бы будет понятно, от чего отталкиваться)) В том числе, и если там пусто.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-23 15:59:03.250000
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
Я хочу сделать на своем сайте так, чтобы скачать файл можно было после просмотра рекламы. Но как можно сделать, чтобы ссылка на файл была не прямой, а динамической (т.е. постоянно менялась)? А то если пользователь получит прямую ссылку на файл, то он может качать обходя рекламу. Возможно ли это реализовать средствами РНР?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-23 16:25:20.366666
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
readfile() используй.. где параметром будет путь к файлу а динамическая часть сессия пользователя привязанная к файлу
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-24 20:27:07.376666
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
codeismy.name ты не мог бы объяснить поподробнее, как сессию пользователя привязать к файлу?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-24 22:02:25.523333
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Вариант на вскидку. При просмотре рекламы в сессию пользователя заносится какая-нибудь информация об этом. А скачивание файла можно организовать из базы через скрипт. А скрипт будет проверять сессию на наличие отметок о просмотре рекламы.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-24 22:53:49.913333
|
|
|
Light Alloy
Сообщений: 1055
Оценки: 0
Присоединился: 2008-06-26 22:19:38.730000
|
Многоуважаемые народы знающие php и тому подобное, не подскажете формы которые бы задействовали сей скрипт типо <input type=text name=v1 size=25> и кнопочка отправить, долблю долблю и не работает <!-- Начало PHP !-->
<?php
$v1=$_POST['v1'];
$v2=$_POST['v2'];
$v3=$_POST['v3'];
$v4=$_POST['v4'];
$v5=$_POST['v5'];
$v6=$_POST['v6'];
$v7=$_POST['v7'];
$v8=$_POST['v8'];
$v9=$_POST['v9'];
$v10=$_POST['v10'];
$v11=$_POST['v11'];
$v12=$_POST['v12'];
$pol=$_POST['pol'];
$zamechaniya=$_POST['zamechaniya'];
//берем данные из массива POST
$subject = "Анкета с сайта!";
$headers = "Результаты заполнения анкеты. \nШкала оценки: 1 – очень плохо; 2 – плохо; 3 – недостаточно хорошо; 4 – хорошо; 5 – очень хорошо; 6 – отлично.";
$message = " Общее впечатление от пребывания в гостинице: $v1 \n Эффективность и быстрота поселения: $v2 \n Умение персонала удовлетворять ваши пожелания: $v3 \n Аккуратность персонала: $v4 \n Внимательность и вежливость персонала: $v5 \n Меблировка номера: $v6 \n Чистота номера: $v7 \n Оснащение ванной комнаты и туалета: $v8 \n Освещение комнаты: $v9 \n Исправность техники: $v10 \n Привлекательность номера в целом: $v11 \n Чистота общественных помещений: $v12 \n Цель приезда: $v13 \n Ваш пол: $pol \n Ваши замечания и пожелания: \n$zamechaniya \n";
$date=date("d.m.Y H:i:s");//берем дату
//mail ($email, $subject, $message, $headers);
mail("mailll@rambler.ru", $subject, $message, $headers);
mail("mailll@mail.ru", $subject, $message, $headers);
?>
<!-- Конец PHP !-->
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 11:02:12.046666
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
quote:
ORIGINAL: horiz Вариант на вскидку. При просмотре рекламы в сессию пользователя заносится какая-нибудь информация об этом. А скачивание файла можно организовать из базы через скрипт. А скрипт будет проверять сессию на наличие отметок о просмотре рекламы. horiz примерно так я хочу организовать, но как сделать, чтобы скачивание осуществлялось через скрипт? Например ссылка на файл: http://mydоmain.ru/files/45v7jk57mgnb/file.zip Как сделать, чтобы проходя по ней, данные из куков передавались на скрипт, а он проверял был ли просмотр рекламы или нет?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 11:52:42.260000
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Ты не совсем понял, что я имел в виду. Никакой ссылки на прямое скачивание не будет. Будет ссылки вида http://mydоmain.ru/files.php?id=1234. Скрипт files.php получает через id номер файла, проверяет сессию (не куки) на отметки о просмотре рекламы, считывает из базы содержимое файла и отправляет его пользователю. Отправка осуществляется так: header("Content-Disposition: attachment; filename=$file_name"); //$file_name - имя передаваемого файла
header("Content-type: application/octet-stream");
echo $file_content; //$file_content - содержимое передаваемого файла
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 13:12:17.500000
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
horiz спасибо! Все работает нормально, только с Мазилой и ИЕ, а вот с Оперой почему то работать не хочет( Делал вот так: $file_content = file_get_contents("test.rar"); header("Content-Disposition: attachment; filename=test.rar"); header("Content-type: application/octet-stream"); echo $file_content;
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 16:22:46.316666
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Странно. У меня во всех браузерах работает нормально. А как именно у тебя не работает? К слову, в таком скрипте после echo $file_content; уже не должно быть никакого вывода. В том числе не должно быть пробелов или переводов строки после ?>, т.к. это тоже считается выводом в браузер. А не то файл будет испорчен.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 19:33:43.053333
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
horiz все нормально, работает! Только мне все же не нравится один баг, то что во время загрузки неизвестно сколько процентов закачано и неизвестно как долго будет длится закачка. Можно ли решить эту проблему?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-25 22:09:25.176666
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Попробуй написать так: $file_length=strlen($file_content); //$file_length - длина файла
header("Content-Disposition: attachment; filename=$file_name");
header("Content-Length: $file_length"); //Отправляем длину в заголовке
header("Content-type: application/octet-stream");
echo $file_content;
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-29 14:42:57.656666
|
|
|
scsi.aka.api
Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
|
как убрать из текста время типа 14.07,текст написал на php вот такое: preg_match("(^([0-9]|[0-1][0-9]|[2][0-3]).([0-5][0-9])$)|(^([0-9]|[1][0-9]|[2][0-3])$)",$prs); но оно не пашет,где я ошибся?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-30 10:16:37.213333
|
|
|
Papa James
Сообщений: 438
Оценки: 0
Присоединился: 2009-12-07 13:36:18.370000
|
(([0-9]|[0-1][0-9]|[2][0-3])\.([0-5][0-9]))|(^([0-9]|[1][0-9]|[2][0-3]))
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-30 13:30:51.393333
|
|
|
scsi.aka.api
Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
|
спасибо.
<?
$result1_1= file_get_contents("http://localhost/logs/log.html")
$parse_1= preg_match_all((([0-9]|[0-1][0-9]|[2][0-3])\.([0-5][0-9]))|(^([0-9]|[1][0-9]|[2][0-3])),$result1_1,$prs)
echo $prs[0];
?>
все-таки так и не понял как заставить работать эту муть(.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-30 13:34:24.446666
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
почитай, что возвращается в третьем параметре функции preg_match_all. там массив
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-30 13:48:05.030000
|
|
|
scsi.aka.api
Сообщений: 122
Оценки: 0
Присоединился: 2008-07-02 00:58:06.646666
|
не заметил,когда писал.спс. но все-равно не пашет. пишет Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '|'.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-04-30 19:51:34.220000
|
|
|
Parano1d
Сообщений: 423
Оценки: 0
Присоединился: 2008-05-21 13:40:17.093333
|
сделай первый параметр строкой, ну то есть возьми в кавычки и добавь первым и последним символ # например
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-04 15:41:54.600000
|
|
|
Golune
Сообщений: 29
Оценки: 0
Присоединился: 2010-01-28 13:25:35.636666
|
Можно ли сделать на РНР так, чтобы во время загрузки видео на сайт (используя форму загрузки файлов), оно автоматически конвертировалось в формат FLV и сохранялось в формате FLV?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-04 22:04:33.676666
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
теоретически да. практически… надо искать консольный конвертор и ставить его на сервак а потом после загрузки сразу конвертить
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-21 21:55:13.246666
|
|
|
Эллурн
Сообщений: 83
Оценки: 0
Присоединился: 2008-12-27 21:46:32.516666
|
Всем доброго времени суток. У меня снова проблемная ситуация: в БД содержится дата в виде "26.03.2010 16:07:00". Как в пыхпе выцепить только дату (без времени)? Или, может, это возможно сделать с помощью sql-запроса (тогда извиняюсь за оффтоп)?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-21 23:13:48.510000
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
А поле даты - простая строка? Лучше используй DATATIME. Тогда все совсем просто решается через скул-запрос. SELECT DATE(date) FROM table; Но если обязательно строковой тип, то кактит вот так: SELECT SUBSTRING(date,1,10) FROM table;
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-23 02:30:23.010000
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
зачем так сложно.. ну для начала можно на мускле выводить по частям .. к примеру SELECT year(date),month(date),day(date) выберет год месяц и день от поля date или SELECT date(date) выберет дату а для реализации задачи на пхп надо использовать функцию mktime() и форматировать её функцией date()
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-25 14:25:11.293333
|
|
|
orthoxor
Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
|
Не получается отправить почту через SMTP-сервер. Использую для этого сокеты. Вот код: function socketmail()
{
$server="smtp1.sbc.mail.vip.ac4.yahoo.com";
$connect = fsockopen ($server, 25, $errno, $errstr, 30);
fputs($connect, "HELO host\r\n");
fputs($connect, "MAIL FROM: $this->mailfrom\n");
fputs($connect, "RCPT TO: $this->mailto\n");
fputs($connect, "DATA\r\n");
fputs($connect, "Content-Type: text/plain; charset=windows-1251\n");
fputs($connect, "To: $this->mailto\n");
fputs($connect, "Subject: $this->mailsubj\n");
fputs($connect, "\n\n");
fputs($connect, $this->tags($this->mailmess)." \r\n");
fputs($connect, ".\r\n");
fputs($connect, "RSET\r\n");
} Что неправильно?
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-25 16:54:55.360000
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
весь код не видно $this->tags($this->mailmess) что тут хранится? и почему рандомным образом разбросаны \n в некоторых случаях \n в некоторых \r\n .. правда это не критично.. но всё же кстати в прикрепленой теме насчёт сокетов если я не ошибаюсь был пример именно отправки почты сокетами или если там нет то юзай поиск direct_mail ищи
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-25 17:36:28.506666
|
|
|
orthoxor
Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
|
codeismy.name При нажатии на кнопку исполняется функция, это и есть весь код. В "$this->tags($this->mailmess)" хранится текст письма. Я и взял из примера "отправки почты сокетами". Хочу узнать, почему не работает.
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-26 01:06:17.300000
|
|
|
codeismy.name
Сообщений: 618
Оценки: 0
Присоединился: 2009-07-19 00:30:13.200000
|
сделай распечаточку $this->tags($this->mailmess) и скажи всё ли в ней верно кроме того не вижу –boundary заголовочка так же есть вариант, что для сервера смтп необходима авторизация, если он релай доступ не поддерживает.(а я почему-то думаю что именно так и есть) ещё как вариант попробуй заголовок не целеком отправлять а по частям и смотреть на ответ после каждого заголовка
|
|
|
RE: Вопросы по PHP (для новичков) - 2010-05-26 20:52:08.546666
|
|
|
orthoxor
Сообщений: 110
Оценки: 0
Присоединился: 2009-08-07 13:46:30.943333
|
Спасибо
|
|
|
|
|