Я упаковываю свой код с помощью gzdeflate(), после того как я добавляю addlashes() и записываю его в файл как $ var = 'MY_RESULT'; После этого я пытаюсь выполнить его с помощью eval (stripslashes (gzinflate ($ var))) и получить ошибку. Предупреждение: gzinflate(): ошибка данных в этой строке. Если я задаю $ var = addslashes (gzdeflate ("my_original_code")), все работает хорошо, но мне нужно вывести дефлированный результат в эту переменную. Так где же моя ошибка? Вот мой код:PHP Предупреждение: gzinflate(): ошибка данных в
<?php
$source = file_get_contents("source.txt");
$gz = addslashes(gzdeflate($source,9));
$a = "<?php \$var='";
$b = "'; eval(gzinflate(stripslashes(\$var)));";
$result = $a.$gz.$b;
$fp = fopen('result.php', 'wb');
fwrite($fp, $result);
fclose($fp);
Кроме отсутствующей запятой в конце строки 5 ('$ b =" ...; ";'), упрощенная версия этого кода без записи в файл работает нормально: http://3v4l.org/Uigv4 – IMSoP
Да, но мне нужен рабочий код с записью в файл. – ShabbyTon
Мое мнение состояло в том, что я не смог воспроизвести вашу проблему с упрощенным примером, и это может помочь сгладить проблему. Я пытаюсь помочь вам обнаружить проблему, а не писать код для вас. – IMSoP