народ, на что проверяется имя файла подскажите плиз, а то не нашол описания функции ereg() PHP: if (!ereg("^[[:alnum:]_\.-]+$", $_REQUEST['filename'])) die("internal error: bad filename");
йа смарю на php.su, там не нашол ну это ясно, а вот регулярные выражения это для меня лес, только вот не пойму я имя файла ваще написал короче некуда asd.exe, все равно пишет что неправильно
кажись проверяет на то чтобы там небыло цифр, знака подчеркивания, знака минуса и точки. или наоборот чтобы в имени файла были только цифры, знак подчеркивания, точка и минус да и собстенно курение манов функции ereg ничего нормального тебе не даст (* тебе нужно регулярки учить
мне кажется, простите если ошибаюсь что скрипт проверяет что бы в имени файла небыло всех цифр ,слеша точки и подчоркивания. тоесть что бы файл прошол эту фильтрацию он должен выглядеть вот так iudfsg и он должен быть без разширения так как точка тоже фильтруется в этом скрипте
PHP: $test = "test123123"; if (!ereg("^[[:alnum:]_\.-]+$", $test)) die ("internal error: bad filename"); else echo "GOOD"; скрипт выдасат гуд,а заместо вывода гуд могло бы быть каое нибудь другое действие например загрузка етого файла ты выложи кусок кода побольше тоесть if (!ereg("^[[:alnum:]_\.-]+$", $test)) die ("internal error: bad filename"); етот кусок кода проверяет файл чтобы он не нызывался на A-z9-0 -. если ето так тоеть если файл не называется на a-Z0-9 то он выводит фразу : internal error: bad filename типо что имя файла не правильное
сделал вот такую херню: PHP: $content = '<a class=red href="text.phtml?storycode=18451">[дальше]</a>56546546<a class=red href="text.phtml?storycode=18452">[дальше]</a>56546546<a class=red href="text.phtml?storycode=18452">[дальше]</a>'; preg_match_all("<b>(.+?)<\/b>\s:\s(.+?)\s.*?storycode=(\d+)", $content, $out, PREG_PATTERN_ORDER); получаю Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '(' in ... Помогите исправить регулярку, пожалуйста
Вообще, именно для этой регулярки: PHP: preg_match_all("/<b>(.+?)<\/b>\s:\s(.+?)\s.*?storycode=(\d+)/i", $content, $out, PREG_PATTERN_ORDER); Но что конкретно получить из строки надо? Просто такая регулярка не парсит строку из примера
это пиздец какой-то... ^[[:alnum:]_\.-]+$ ^ - начало строки (а никакое не отрицание!) $ - конец строки + - количество символов из скобок от 1 [:alnum:] - все буквы и цифры _\.- - нижнее подчеркивание, точка и дефис мда 2 #2799 структура условного оператора такая: if(){} else {} а не if(){};else {}
Piflit НАпиши топЕГ про регулярки... .ЧТо бы было меньше вопросов((ведь сам всё видишью(ЧТо да как и почём)))... .ПОнимаю что в инете тем море но всё таки... .Извините за спам... .
Я не сомниваюсь в твоих познаниях в php но у else есть 2 варианта написания, точнее их не 2 а больше но бы имеем в данный момент 2 из них. 1 это то что вот тут ^^^^^^^ 2 вот так: if(условие) действо1; else действо2; PS: всеравно те + ) Так что то что там написано не if(){};else {} а if(){;}else {} ЗЫ: Всеравно те +
Немного оффтоп, но вообще там просто два случая есть. Когда ^ используется в начале класса символов, то он означает именно отрицание, т.е. [^\w] означает любой символ, не являющийся \w
Помогите, не могу правильно передать http заголовки чтоб залогиниться... на gz.sko.kz <?php $host="gz.sko.kz"; $path="/login.aspx?ReturnUrl=%2fDefault.aspx"; $fp=fsockopen($host,80,$errno,$errstr,30); if(!$fp) { echo $errno." ".$errstr; exit; } $data='UserName=pars&Password=7777777\r\n\r\n'; $header.="POST ".$path." HTTP/1.1\r\n"; $header.="Host: ".$host."\r\n"; $header.="Content-type: application/x-www-form-urlencoded\r\n"; $header.="Content-Length: ".strlen($data)."\r\n\r\n"; $header.='UserName=pars&Password=7777777\r\n\r\n'; echo $header; fwrite($fp, $header); while(!feof($fp)) { $line.=fgets($fp,1024); } fclose($fp); echo $line; ?>
Code: $data='UserName=pars&Password=7777777'; Попробуй так, завершающие переносы строк вообще-то в длину не входят Code: $header.="UserName=pars&Password=7777777\r\n\r\n"; Кавычки нужны двойные, '\r\n' != "\r\n"