Генерация пакетных QR-кодов из переполнения стека

Я использую библиотеку PHP QR-кода, и она прекрасно работает для создания одного QR-кода. Что мне нужно, это изменить мой php, чтобы отобразить большую часть QR-кодов, которые генерируются из текстового поля (показано ниже) и которые будут разделены запятыми. Это скрипт, который у меня есть:

эхо «


«;

//set it to writable location, a place for temp generated PNG files
$PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;

//html PNG location prefix
$PNG_WEB_DIR = 'temp/';

include "qrlib.php";

//ofcourse we need rights to create temp dir
if (!file_exists($PNG_TEMP_DIR))
mkdir($PNG_TEMP_DIR);$filename = $PNG_TEMP_DIR.'test.png';//processing form input
//remember to sanitize user input in real-life solution !!!
$errorCorrectionLevel = 'L';
if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H')))
$errorCorrectionLevel = $_REQUEST['level'];

$matrixPointSize = 4;
if (isset($_REQUEST['size']))
$matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10);if (isset($_REQUEST['data'])) {

//it's very important!
if (trim($_REQUEST['data']) == '')
die('data cannot be empty! <a href="?">back</a>');

// user data
$filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2);} else {

//default data
echo 'You can provide data in GET parameter: <a href="?data=like_that">like that</a><hr/>';
QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);}

//display generated file
echo '<img src="'.$PNG_WEB_DIR.basename($filename).'" /><hr/>';

echo $ filename;

//config form
echo '<form action="index.php" method="post">
Data:&nbsp;<input name="data" value="'.(isset($_REQUEST['data'])?htmlspecialchars($_REQUEST['data']):'PHP QR Code :)').'" />&nbsp;
ECC:&nbsp;<select name="level">
<option value="L"'.(($errorCorrectionLevel=='L')?' selected':'').'>L - smallest</option>
<option value="M"'.(($errorCorrectionLevel=='M')?' selected':'').'>M</option>
<option value="Q"'.(($errorCorrectionLevel=='Q')?' selected':'').'>Q</option>
<option value="H"'.(($errorCorrectionLevel=='H')?' selected':'').'>H - best</option>
</select>&nbsp;
Size:&nbsp;<select name="size">';

for($i=1;$i<=10;$i++)
echo '<option value="'.$i.'"'.(($matrixPointSize==$i)?' selected':'').'>'.$i.'</option>';

echo '</select>&nbsp;
<input type="submit" value="GENERATE"></form><hr/>';

Что мне нужно, так это в поле ввода под названием «значение». Я смогу напечатать серию информации, разделенную запятой, а затем будет представлен список QR-штрих-кодов, созданных из указанного мной списка, разделенного запятыми.

Спасибо

0

Решение

Объявите пустой массив перед вашим циклом: $ array = array (); Добавьте к нему во время каждого цикла {$ array [] = $ addpng; } если вы просматриваете набор результатов запроса, чтобы получить имена png.
Если вы не можете обработать его как массив, и вам нужна строка csv, я просто сделаю что-то вроде:
$x = 'DONTNEEDTHISTEXT';
foreach($png as $addedpng){$x .= ', '.$addedpng; }
$onlypngs = str_replace("DONTNEEDTHISTEXT, ", "", $x);

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]