Когда вводятся данные в форму нужно, чтобы они сохранялись в файле, а не просто выводились, как с использованием echo. Как это сделать?
PHP: $forminput = $_POST['field1']; $handle = fopen ( 'logs.txt', 'a' ); fwrite ( $handle, $forminput); fclose ( $handle ); Как-то так.
когда работаешь со множеством переменных: $forminput = $_POST['field1'].":".$_POST['field2'].":".$_POST['field3'];
FewG, спасибо. Но текст сохраняется в конце файла и на странице выводится где попало. Можно как-то сохранить в определенное место файла, или что-то еще сделать, чтобы этот текст выводился на странице в нужной мне области?
Как при чтении файла (fread) узнать расположение указателя чтения (т.е. сколько уже прочитали) и как передвинуть этот указатель (не используя "чтение вне куда", иногда требуется передвинуть его назад)?
Задача: удалить из файла (скрипта) все многострочные комментарии. Без использования функций explode, substr (анализировать по-символьно). PHP: <? $c = file_get_contents('script.php'); for ($i=0;strlen($c);$i++) { if ($c[$i] !== '/*') {$sc.=$c[$i];} else {$i = strpos($c,'*/',$i)+1;} } file_put_contents('new_sc',$sc); ?> Зацикливается.
AnGeI 1) $c[$i] !== '/*' - символ не может быть равен двум символам, такие дела 2) Условие останова цикла фор - проверка длины строки. Длина строки - тут неуменьшаяющаяся величина и в булево False не превратится - цикл никогда не остановится С чем связано желание "анализировать посимвольно"?
PHP: <? $c=file_get_contents('jc.php'); for ($i=0;$i<=strlen($c);$i++) { if (($c[$i] !== '/') && ($c[$i+1] !== '*')) {$jc.=$c[$i];} else {$i=strpos($c,'*/',$i)+1;} } file_put_contents('new_jc',$jc); ?> Спасибо, теперь работает. так более алгоритмично что-ли. разве не быстрее, чем комбинировать строковые функции?
AnGeI вы используете strpos для нахождения конца комментария, но не хотите использовать для начала. Использование substr+strpos было бы быстрее цикла пхп. Это, конечно, если на секунду забыть о том, что для разбора кода ни ваш вариант, ни регулярки, ни строковые функции не подходят. Проверять лень, но ваш код хоть и запускается, но скорее всего все равно не работает. Придумайте программу для разбора вот этого теста: PHP: <?PHP /* some comment echo '/*'; bad bad code */ echo '/*'; phpinfo(); echo "*/";
уже убедился в этом php_strip_whitespace() справляется, ничего не затирает и не пропускает. Как вариант можно парсить при помощи token_get_all() и token_name(), потом удалять T_Comment и обратно переводить в код. Никак иначе.
Имеются строки: 12312412412_hello_world_v1.2 12341241212__world_v1.2 12312_hello_world_v1.4 Как вырезать цыфры из начала строки?
НTL, используй str_split для того, чтобы превратить строку в массив символов. Потом через unset удаляешь нужный номер символа (элемент массива). И через implode собираешь назад в строку.
есть задача: есть сайт на вордпрессе, в папке uploads есть папка, в которой создаются подпапки. Имя подпапки берется из custom fields. Далее - скрипт смотрит в папку, находит все изображения и выводит их на странице. Вот код: Code: $photoalbum = get_post_meta($post->ID, 'photoalbum', true); if ($photoalbum) { function get_images($directory) { $filenames = array(); $directory = str_replace('\\', '/', $directory); if(is_dir($directory)) { $dp = opendir($directory); while($filename = readdir($dp)) { if(!is_dir($directory.'/'.$filename)) { $file_ext = strtolower(substr($directory.'/'.$filename, strrpos ($directory.'/'.$filename, '.')+1)); if(in_array($file_ext, array('jpg', 'gif', 'png', 'jpeg'))) { $filenames[count($filenames)] = $filename; } } } } $dp = closedir(); return $filenames; } $path = '/wp-content/uploads/zvezdi/'.$photoalbum.'/'; $img_count = 100; $images = get_images ($_SERVER["DOCUMENT_ROOT"].$path); $i = 0; while($images[$i]) { $npic = count($images); $star = '<img src="'.htmlspecialchars($path.$images[$npic]).'" border="0" alt="">'; echo '<a href="'.htmlspecialchars($path.$images[$npic]).'" rel="lightbox">'.'<img class="foto_gal_star" src="/wp- content/themes/wg/timthumb.php?src='.htmlspecialchars($path. $images[$npic]).'&h=100&w=100&zc=1&q=100"'.'" border="0" width="150px">'.'</a>'; unset($images[$npic]); $images = array_values($images); $i++; if($i==$img_count) break; } } else { } вся эта конструкция нифига не хочет выводить картинки, вместо них - пустые окошки по числу картинок в папке. но если я вместо Code: $npic = count($images); вставляю Code: $npic = rand(1, count($images)-1); то все работает. Но мне нужно выводить все картинки, а не случайное число. Что делать и как быть?
chexec, какое отношение ваше сообщение имеет к моему посту? http://forum.antichat.ru/showpost.php?p=2712978&postcount=18851