PHP: <?php $dblocation = "localhost"; $dbname = "forum"; $dbuser = "root"; $dbpass = ""; $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpass); if (!$dbcnx) { exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" ); } if (! @mysql_select_db($dbname, $dbcnx) ) { exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" ); } mysql_query(" CREATE TABLE authors ( id_author INT(11) NOT NULL AUTO_INCREMENT, name TINYTEXT, pass TINYTEXT, email TINYTEXT, url TEXT, icq TINYTEXT, about TEXT, photo TINYTEXT, putdate DATATIME DEFAULT NULL, last_time DATATIME DEFAULT NULL, themes INT(10) DEFAULT NULL, statususer ENUM('user', 'moderator', 'admin') NOT NULL default 'user', PRIMARY KEY (id_author))", $dbcnx); ?> Ошибки не выводит, но таблицу не создаёт! В чём проблема?
Попробовал твой запрос - таблица создалась. Ищи другие ошибки, может, ты помимо DATETIME еще что-то изменил...
и норм создалась? С первичным ключиком и автоинкриментом? UPD: уже работает, видимо в Дате проблема была, спасибо за помощь!
LASS0 1) Уберите CURLOPT_FAILONERROR 2) Сохраняйте кукисы сразу 3) Вначале обращайтесь на страницу, на которой должна быть капча 4) Устанавливайте заголовок Referer при обращении к капче Gvidion для вопросов по sql - существует соответствующий топик
добрый день вот такая у меня проблема, в скрипте нужно поставить конвертер через системную команду ffmpeg -i input.mpg -ar 25050 output.flv PHP: exec('ffmpeg -i '.$vdo_path.' -ar 25050 '.$config['FLVDO_DIR']. '/' .$vid.'.flv'); отдельно в терминале команда нормально выполняется, хотя надо ждать не мало секунд для выполнения а вот та же команда через системную функцию возвращает output файл 0 байт, и как я понимаю конвертация не происходит, подскажите пожалуйста в чем может быть проблема зы. терминал wso тоже выполняет команду нормально кусок скрипта PHP: if ( !$curl->saveToFile($url, $vdo_path) ) { $sql = "DELETE FROM video WHERE VID = " .$vid. " LIMIT 1"; $conn->execute($sql); $errors[] = 'Failed to download video file!'; } else { // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- function run_in_background($Command, $Priority = 0){ if($Priority) $PID = shell_exec("nohup nice -n $Priority $Command 2> /dev/null & echo $!"); else $PID = shell_exec("nohup $Command 2> /dev/null & echo $!"); return($PID); } // exec($config['mplayer']. ' -vo null -ao null -frames 0 -identify "' .$vdo_path. '"', $p); exec('ffmpeg -i '.$vdo_path.' -ar 25050 '.$config['FLVDO_DIR']. '/' .$vid.'.flv');
PHP: function wsoEx($in) { $out = ''; if (function_exists('exec')) { @exec($in,$out); $out = @join("\n",$out); } elseif (function_exists('passthru')) { ob_start(); @passthru($in); $out = ob_get_clean(); } elseif (function_exists('system')) { ob_start(); @system($in); $out = ob_get_clean(); } elseif (function_exists('shell_exec')) { $out = shell_exec($in); } elseif (is_resource($f = @popen($in,"r"))) { $out = ""; while(!@feof($f)) $out .= fread($f,1024); pclose($f); } return $out; } Вот из всо. попробуй функции, которые используются тут: exec, passthru, system, shell_exec
интересно что похожая команда есть и в соседнем скрипте и там нормально работает, долго висает скрипт но нормально конвертит, а тут без висания просто создает 0 байтовый файл =\ соседний скрипт PHP: if (copy($source_file, $vdo_path)) { exec($config['mplayer']. ' -vo null -ao null -frames 0 -identify "' .$vdo_path. '"', $p); exec('ffmpeg -i '.$vdo_path.' -f flv '.$config['FLVDO_DIR']. '/' .$vid.'.flv'); }
Konqi Проверьте пути в файлах, а именно переменную $vdo_path. Лучше, если в ней будет храниться абсолютный путь до файла. Проверьте права на файл из которого читаете. Посмотрите, наконец, вывод команды, которую запускаете, лучше это делать с помощью wsoEx()
права и путь в порядке, поставил через wsoEx сейчас создается темп файл флв размер которого учвеличивается (то есть конвертация происходит), но после конвертации этот темп файл удаляется.. делаю так PHP: exec('ffmpeg -i '.$vdo_path.' -ar 25050 '.$config['FLVDO_DIR']. '/' .$vid.'.flv'); $out = @join("\n",$out); echo $out;
Каким образом можно сгенирировать все комбинации элементов массива с повторением или без (опционально)? Каким curl_setopt воспользоваться, чтобы получить в результате отправленный заголовок?
Мне нужен именно отправленный заголовок (мною) на сервер. Я не уверен, что такой curl_setopt вообще существует, но подойдет любое другое решение, оказывается удобным при дебаге.
Konqi попробуйте так: PHP: exec('ffmpeg -i '.$vdo_path.' -ar 25050 '.$config['FLVDO_DIR']. '/' .$vid.'.flv 2>&1'); $out = @join("\n",$out); echo $out; AnGeI CURLOPT_VERBOSE + CURLOPT_STDERR или CURLINFO_HEADER_OUT + http://php.net/curl_getinfo
час мучаюсь, не могу сделать.. есть регулярка которая должна срабатывать если человек перешел с определенной страницы PHP: if(preg_match("!http://site.ru/?id=!i",$_SERVER['HTTP_REFERER'])) echo 'good'; люди обычно переходят со страниц вида http://site.ru/?id=YERW я так понимаю из за символов не срабатывает? типа :// а как тогда решить задачу? пробовал делать так \/\/ но не получается... хотя я так понимаю такую регулярку можно взломать? нужно тогда сделать четкую проверку http://site.ru/?id=(тут четыре буквы)
Kruzak вопросы по регулярным выражениям следует задавать в соответствуюшем топике. Вам следует проэкранировать точки и знаки вопроса в первом параметре, тогда все будет работать: PHP: if(preg_match("!http://site\.ru/\?id=[a-zA-Z]{4}!i",$_SERVER['HTTP_REFERER'])) echo 'good';
MySQLi, num_rows возвращает 0 вместо количества строк PHP: $uniq = $db->prepare("SELECT * FROM `stats` WHERE `hash` = ?"); $uniq->bind_param('s', $hash); $uniq->execute(); echo $uniq->num_rows; $uniq->close(); причем PHP: $uniq = $db->prepare("SELECT COUNT(*) FROM `stats` WHERE `hash` = ?"); $uniq->bind_param('s', $hash); $uniq->execute(); $uniq->bind_result($total); $uniq->fetch(); echo $total; $uniq->close(); ЧЯДНТ? Я уже себе весь мозг сломал (с) ---------- Спасибо огромное!