Такой вопрос можно ли на php шифровать строку/данные испоьльзуя XOR, но не с простым смещением, а как это было сделано в XOR Encryption4 (javascript) используя ключь? Пробывал перебить код на php но чёт выдаёт не те значения что на js.
2inlanger Будет здоровски если у тебя постоянный IP можешь поднять веб сервер и поставить себе прокси сервер, люди будут через тебя юзать тот скрипт, у которого твой ип разрешен. Т.е. пишеш скрипт на сокетах, который подключаеться к тебе как к прокси и гуляет по тому скрипту... Надеюсь понял =) Насчет XOR. Неверное енкрипция это баг в 4 линии PHP в 5 помойму исправлено
Отладка показала, что javascript-версия работает с длинными целыми, типа 1129711511511911111410070113366, что выходит за пределы целых чисел в пхп. На пхп надо или переписать алгоритм шифрования, или гуглить по поводу юзания в пхп длинных целых (long integer)
Кто поможет и обяснит дам 7знак icq как можно писать на картинке в php и можно ли вообще? желательно примерчег! мне надо чтобы на рисунке выводилось введеное слово которое ввели в поле ввода!
можно. PHP: $img = imagecreatefromgif("img.gif"); $white = imageColorAllocate($img, 230, 230, 230); imagestring($img, 2, 3, 65, "TEXT", $white); imageGIF($img); ImageDestroy($img); примерно так.
rasl, Точь в точь под твои потребности)) PHP: <?php function img_nalogenie(&$im, $img_info, $imgtxt) { if ($img_info[0]>50 and $img_info[1]>20) /* проверка, влезит ли надпись */ { $green = imagecolorallocate ($im, 0, 255, 0); // установка зеленого цвета imagestring($im, /* наше изображение */ 2, /* id шрифта (0-5 - системные), остальные грузятся через imageloadfont() */ 50, /* смещение по X */ 5, /* смещение по Y */ $imgtxt, $green); /* цвет выводимого текста */ } } if(isset($_POST['imgtxt'])) { $img_name = "http://forum.antichat.ru/antichat/pic/logo.gif"; /* Адрес картинки*/ $imgtxt = $_POST['imgtxt']; $info = @getimagesize($img_name); /* получение информации о изображении */ $ext = @$info[2]; /* тип изображения */ $header = @$info['mime']; /* правильный заголовок для использования в header() */ switch($ext) /* выбор способа открытия по типу изображения */ { case 1: // GIF { $im = @imagecreatefromgif($img_name); /* попытка открыть */ if ($im) /* Открылось или нет */ { header("Content-type: " . $header); /* отправляем заголовок */ img_nalogenie($im, $info, $imgtxt); /* накладываем свой текст на изображение */ imagegif($im); /* выводим изображение в браузер */ } break; } case 2: // JPG { $im = @imagecreatefromjpeg($img_name); if ($im) { header("Content-type: " . $header); img_nalogenie($im, $info, $imgtxt); imagejpeg($im); } break; } case 3: // PNG { $im = @imagecreatefrompng($img_name); if ($im) { header("Content-type: " . $header); img_nalogenie($im, $info); imagepng($im); } break; } case 6: // BMP { $im = @imagecreatefromwbmp($img_name); if ($im) { header("Content-type: " . $header); img_nalogenie($im, $info, $imgtxt); imagewbmp($im); } break; } default: /* если ничего не подошло */ { $f = @file($img_name); /* пробуем считать файл */ if ($f) /* если файл считался */ { echo implode("", $f); /* выводим массив строкой */ } break; } } } ?> <form action method="post"> <input name="imgtxt" type="text" /> <input type="submit" value="Поехали" /> </form> Пример работы тут пысы асько не надо
Вот решил написать скрипт который загружает фалы из интернэта к себе на фтп но почемуто файлы получаются битые .обьясните пожайлуста. PHP: <?php $hostname = "imgl.yandex.net"; $path = "/i/www/logo.png"; $otvet = ""; $fp = fsockopen($hostname, 80, $errno, $errstr, 30); $data = "\r\n\r\n"; $headers = "POST $path HTTP/1.1\r\n"; $headers .= "Host: $hostname\r\n"; $headers .= "Content-type: application/x-www-form-urlencoded\r\n"; $headers .= "Content-Length: ".strlen($data)."\r\n\r\n"; fwrite($fp, $headers.$data); while (!feof($fp)) { $otvet .= fgets($fp, 1024); } fclose($fp); $massiv_otveta=explode("\n",$otvet); $nachalo_ishodnica = array_search('', $massiv_otveta)-3; $konec_ishodnica = count($massiv_otveta); $filename = 'negri.png'; $handle = fopen($filename, 'x'); for ($i=$nachalo_ishodnica;$i<=$konec_ishodnica;$i++) { fwrite($handle, $massiv_otveta[$i]); } fclose($handle); ?>
ZET36, PHP: <?php $data = "\r\n\r\n"; $headers .= "Content-Length: ".strlen($data)."\r\n\r\n"; ?> Может в $data должно быть пусто? =\
Isis хых непомогает, блин я конкретно ступил со скриптом всё можно сделать проще. но всёравно файл битый PHP: <?php $inetfile = fopen("http://imgl.yandex.net/i/www/logo.png", "r"); $copyfyle = fopen("logo.png", 'x'); while (!feof($inetfile)) { $file = fgets($inetfile, 4096); fwrite($copyfyle, $file); fclose($copyfyle); } fclose($inetfile); ?> мне кажется это происходит из за режимов для fopen() (x) а какие есть ещё режимы для записи файлов?
$data - это строка с запросом (var1=...&var2=...) Вот исправления. Строка 10 (на твоё усмотрение) PHP: $data = "var1=...&var2=..."; Строка 17 PHP: fwrite($fp, $headers); Твой код можно упростить во много раз, если воспользоваться file_get_contents(), т.к. у тебя там использоваться должен метод не POST, а GET. PHP: <?php // { $file_to_download = 'http://imgl.yandex.net/i/www/logo.png'; $filename = 'negri.png'; // } $f_got = file_get_contents($file_to_download); $fopen = fopen($filename, 'w'); fwrite($fopen, $f_got); fclose($fopen); ?> P.S. Права на файл negri.png или папку со скриптом должны быть 0777.
Помогите плз я написал скрипт...у меня он работает.. а у чела которому он нужен не пашет вот скрипт функция mysql_qw() PHP: <?php ## Простейшая функция для работы с placeholder-ами. // result-set mysql_qw($connection_id, $query, $arg1, $arg2, ...) // - или - // result-set mysql_qw($query, $arg1, $arg2, ...) // Функция выполняет запрос к MySQL через соединение, заданное как // $connection_id (если не указано, то через последнее открытое). // Параметр $query может содержать подстановочные знаки ?, // вместо которых будут подставлены соответствующие значения // аргументов $arg1, $arg2 и т.д. (по порядку), экранированные и // заключенные в апострофы. function mysql_qw() { // Получаем все аргументы функции. $args = func_get_args(); // Если первый параметр имеет тип "ресурс", то это ID соединения. $conn = null; if (is_resource($args[0])) $conn = array_shift($args); // Формируем запрос по шаблону. $query = call_user_func_array("mysql_make_qw", $args); // Вызываем SQL-функцию. return $conn !== null ? mysql_query($query, $conn) : mysql_query($query); } // string mysql_make_qw($query, $arg1, $arg2, ...) // Данная функция формирует SQL-запрос по шаблону $query, // содержащему placeholder-ы. function mysql_make_qw() { $args = func_get_args(); // Получаем в $tmpl ССЫЛКУ на шаблон запроса. $tmpl = &$args[0]; $tmpl = str_replace("%", "%%", $tmpl); $tmpl = str_replace("?", "%s", $tmpl); // После этого $args[0] также окажется измененным. // Теперь экранируем все аргументы, кроме первого. foreach ($args as $i => $v) { if (!$i) continue; // это шаблон if (is_int($v)) continue; // целые числа не нужно экранировать $args[$i] = "'" . mysql_escape_string($v) . "'"; } // На всякий случай запорняем 20 последних аргументов недопустимыми // значениями, чтобы в случае, если число "?" превышает количество // параметров, выдавалась ошибка SQL-запроса (поможет при отладке). for ($i = $c = count($args) - 1; $i < $c + 20; $i++) $args[$i + 1] = "UNKNOWN_PLACEHOLDER_$i"; // Формируем SQL-запрос. return call_user_func_array("sprintf", $args); } ?> Часть кода которая не работает: PHP: $result = mysql_qw('SELECT * FROM items WHERE owner_id=? AND item_id=?', $char_id,4037) or die(mysql_error()); for ($red = array(); $row2 = mysql_fetch_array($result); $red[] = $row2); if ($red == array()) { $result = mysql_qw('SELECT MAX(object_id)+1 AS id FROM items'); $row = mysql_fetch_assoc($result); $ins_id = $row['id']; mysql_qw('INSERT INTO items SET owner_id=?, object_id=?, item_id=?, count=?', $char_id, $ins_id, 4037, $FAs_for_vote) or die(mysql_error()); } else { mysql_qw('UPDATE items SET count=count+? WHERE owner_id=? AND item_id =?', $FAs_for_vote, $char_id, 4037) or die(mysql_error());} эта часть скрипта проверяет есть чи у чара этот предмет если да то добовляет +1 к количеству а если нет то просто создаёт его у чара.... но проблема в том что скрипт работает у меня нормально а у другова он просто создаёт всегда этот предмет заного даже если он существовал
а у вас БД одинаковые? скорее всего у тебя БД более старой версии, а парнишки более новая версия. если так то может и БД ругаться на запросы, елси мускул, то в новых версиях обязательны кавычки, как PHP: SELECT * FROM `test` WHERE id="1"
я пытался и с помощью ковычек исправить не вышло( да и темболее там соит or die(mysql_error()) что вывело бы ошибку в синтаксисе
у меня была похожая ситуация, но у меня БД ошибку из-за этого не выдавало, а выдавало пустой результат, именно пустой. И прерывание не срабатывало.
$result = mysql_qw("SELECT * FROM `items` WHERE `owner_id`='?' AND `item_id`='?' ", ... ); Пиши с апострофами... Мб поможет ^^