Фаза, судя по этой строке: PHP: if(move_uploaded_file($_FILES['file']['tmp_name'], getcwd().'/'.$name)) имя файла берется из переменной $name = 'shell.php';
если это 1 строка, то делай urlencode. если массив, то или запиши как массив array('key1' => 'val1', ... ) или записывай в виде param=val1¶m2=val2 где с каждым val делай urlencode
как запереть файл PHP: <?php if (version_compare(phpversion(), "5.3.0", ">=") == 1) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); else error_reporting(E_ALL & ~E_NOTICE); $zapros=$_POST['zapros']; $zapros = str_replace("\r\n",'',$zapros); $zapros = str_replace("\n",'',$zapros); $zapros = str_replace("|",'',$zapros); $zapros = str_replace("",'сайт',$zapros); $zapros = str_replace(")",'',$zapros); $zapros = str_replace("(",'',$zapros); $zapros = str_replace("www.",'',$zapros); $zapros = str_replace("*",'',$zapros); $zapros = str_replace("+",'',$zapros); $zapros = str_replace("-",'',$zapros); $zapros = str_replace('"','',$zapros); $zapros = str_replace('.ru','',$zapros); $zapros = str_replace('.','',$zapros); if (strlen($zapros) < 5) die("стоять"); $poisksis=$_POST['poisksis']; $prixod=$_POST['prixod']; $pprixod=$_POST['pprixod']; if ($pprixod=="/"){$pprixod='';} $ogranishenie=100; $nedobovlyat=0; $zapros = iconv('utf-8', 'utf-8', $zapros); if($poisksis==2){ $filename="./yandex.txt"; if( !file_exists($filename)) { $ft=fopen($filename, "w"); fclose ($ft); } $file_arrey=file($filename); $prov=0; for($i=0; $i<=count($file_arrey); $i++){ if(preg_match("/".$prixod."/i", $file_arrey[$i])){ $ser=ereg_replace("/","\/",$prixod.$pprixod); $serv=ereg_replace("\?","\?",$ser); if(!preg_match("/".$serv."\/\">".$zapros."<\/a>/si", $file_arrey[$i])){ $pieces = explode("|", $file_arrey[$i]); if(count($pieces)>=$ogranishenie){ $file_arrey[$i]=""; $newb=count($pieces)-1; for($if=0; $if<$newb; $if++){ if($if==0){ $file_arrey[$i]=$file_arrey[$i].$pieces[$if]; } else{ $file_arrey[$i]=$file_arrey[$i]."|".$pieces[$if]; } } $ni=$i+1; if($file_arrey[$ni]!=''){ $file_arrey[$i]="<a href=\"http://".$prixod.$pprixod."/\">".$zapros."</a>|".$file_arrey[$i]."\r"."\n"; } else{ $file_arrey[$i]="<a href=\"http://".$prixod.$pprixod."/\">".$zapros."</a>|".$file_arrey[$i]; } } else{ $file_arrey[$i]="<a href=\"http://".$prixod.$pprixod."/\">".$zapros."</a>|".$file_arrey[$i]; } } $prov=1; } } if($prov==0){ $ip=count($file_arrey); if($ip==0){$file_arrey[$ip]="<a href=\"http://".$prixod.$pprixod."/\">".$zapros."</a>";} else{ $file_arrey[$ip]="\r"."\n"."<a href=\"http://".$prixod.$pprixod."/\">".$zapros."</a>";} } $f_open=fopen($filename,'w'); for($i=0; $i<=count($file_arrey); $i++){ fwrite($f_open, $file_arrey[$i]); } fclose($f_open); } ?> как применить функцию flock() чтобы запереь файл в тот момент пока в него идет 1 обращение немогу решить проблемы - иногда в базу попадают пустые запросы и пишуться в тхт файл грешу уже на то что не используеться запипание flock() помогите встваить в код эту функцию или пожскажите где еще может быть ошибка
Подскажите в чем проблема. Выполняю вот такой код. Code: if(isset($_POST["get_clan"])) { $query = "SELECT auth_id FROM userlist WHERE clan='".$_POST['get_clan']."'"; echo $query; $resurs = mysql_fetch_assoc(mysql_query($query)); print_r($resurs); } В итоге запрос получается вот такой Code: SELECT auth_id FROM userlist WHERE clan='0' В этой таблице 2 значения с таким условием. Но скрипт выводит только одно! В чем ошибка?! Причем если выполняю этот же запрос через PHPMyAdmin то выводиться 2 значения.
Code: if(isset($_POST["get_clan"])) { $query = "SELECT auth_id FROM userlist WHERE clan='".$_POST['get_clan']."'"; $query = mysql_query($query); while ($resurs = mysql_fetch_assoc($query)) { echo $resurs['auth_id'] . '<br />' } } Если clan числовое поле, то зачем кавычки ? intval($_POST['get_clan'])
Допустим, есть $text а в ней содержимое: bla-bla*blabla*sdffsfdsdfewfjwefewfejjewlfelkfjekfewlfjwekjfewjfl надо чтобы другой переменной присвоилось значение то, что между * и *, то есть blabla, и причём заметьте, что текст между * и * меняется, как такое реализовать? А, ну в принципе preg_match щас заюзаю)
как напписать условие что если в $zapros попадает например слово или фраза в котором есть части слов например www. и .ru то выполнение скрипта прекратить? ченить типа if (.........) die("стоп");
подскажите как записать в файл значения что бы каждый начинался с новой строки PHP: <? $d ="niga"; //текст для шифрования $t = strlen($d); $w = -1; $file = fopen("mass.txt","w"); while(++$w <= $t) { $mass[$w] = substr($d,$w,1); } $nw = -1; while(++$nw <= $t) { $mass[$nw] = ord($mass[$nw]); } $n2w = -1; while(++$n2w <= $t) { $mass[$n2w] = $mass[$n2w]*sin(1); fputs ( $file, $mass[$n2w]); echo($mass[$n2w]); echo("<br>"); } ?>
ешё 1 вопрос ... при дешифрации текста получаеться файл видимо с неверной кодировкой. при выводе в браузер - все отлично, но когда записываеться в файл там "渀杩a" Зашифрованно "niga" PHP: <?php $file = file("mass.txt"); $file2 = fopen("otvet.txt","w"); $lines = count($file); $i=-1; while(++$i <= $lines) { $new[$i] = $file[$i]/sin(1); //echo($new[$i]);echo("<br>"); } for ($d=-1; $d <= $lines;$d++) { settype($new[$d],string); $otvet[$d] = chr($new[$d]); echo($otvet[$d]); fputs ( $file2, $otvet[$d]); } ?> upd: прчем не которыми текстами работает нормально ... " че за ***ня " в файле получилось) только почему то есть пробел перед 1 сиволом и после последнего... %) в браузере такого нет при выполнении PHP: echo($otvet[$d]); причем ешё заметил всегда последний сивол верный ... %) upd: echo(mb_detect_encoding($new[0])); говорит что это ASCII попорбывал так - PHP: fputs($file2, iconv("ASCII", "UTF-8", $otvet[$d])); не чего не получаеться %)
Подскажите кто сможет. Задача. Добавить в базу Mysql год,дату,число,время на 1 месяц в перед. Это сделано с помощью функции Code: function time_add($month) { $d=date('Y-m-d H:i:s'); $date = new DateTime($d); $date->modify("+".$month." months"); $date = $date->format('Y-m-d H:i:s'); return $date; } Далее необходимо взять текущую дату и вычесть из той что в базе. И если эта дата уже прошла то вернуть False; P.S. Все уже не надо. Надо было просто перевести в timestamp и вычесть одно из другого. И если число отрицательное то эта дата уже прошла.
Как сократить и упростить код Задача: создать 2 файла, записать в каждый свой текст, вывести результат работы, протачить одной датой. Решаю через Ж.. PHP: <?php $h = fopen("file1.php","w"); $text = "text1"; if (fwrite($h,$text)) echo "file1 - ok"; else echo "file1 - error"; fclose($h); touch ("file1.php", strtotime("2012-12-12 12:12:12")); $h1 = fopen("file2.php","w"); $text = "text2"; if (fwrite($h1,$text)) echo "file2 - ok"; else echo "file2 - error"; fclose($h1); touch ("file2.php", strtotime("2012-12-12 12:12:12")); ?> Как можно сделать проще и красивей?
spiderbuber что вы понимаете под "проще и красивее"? Ro Man Определять кодировку по одному байту - бессмысленная затея. Причину объяснять нужно?
opendir() Наговнокодил небольшой скрипт, помогите дописать плиз: PHP: <?php if ($handle = opendir('/home/www/site/multimedia/video/BharatiMj')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $namearr[] = $file; } } closedir($handle); } print_r ($namearr); ?> Скрипт возвращает все имена видеофайлов из директории /home/www/site/multimedia/video/BharatiMj/ Задача получить имена видеофайлов из раздела /home/www/site/multimedia/video/ и всех подразделов (папок, которые будут в папке video). Подскажите, как правильно сделать?