遇到问题的编程新手


Programming noob with an issue

我叫Pete,我有一个问题要问大家。我正在使用在托马斯J布拉德利的网站上找到的代码,用于工作中的一个项目。这是一个签名接受应用程序,可以将签名(从平板设备)转换为png文件,以便执行任何操作。它可以工作,但我想对它做一些修改。这是网址:

http://managercheckoff.oo3.co/home.html

我将修复css和品牌它等我的应用程序;这是一份工作副本。我想做的是用我在"存储名称"框中输入的文件名保存png文件。换句话说,如果我在框中输入"store10",我希望我的png文件命名为store10.png。下面是该站点的代码:

(开始代码)

<!DOCTYPE html>
<head>
  <meta charset="utf-8">
  <title>Accept a Signature · Signature Pad</title>
  <style>
    body { font: normal 100.01%/1.375 "Helvetica Neue",Helvetica,Arial,sans-serif; }
  </style>
  <link href="./assets/jquery.signaturepad.css" rel="stylesheet">
  <!--[if lt IE 9]><script src="./assets/flashcanvas.js"></script><![endif]-->
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
</head>
<body>
  <form method="post" action="" class="sigPad">
    <label for="name">Store Name</label>
    <input type="text" name="name" id="name" class="name">
    <p class="drawItDesc">Draw your signature</p>
    <ul class="sigNav">
      <li class="drawIt"><a href="#draw-it" >Draw It</a></li>
      <li class="clearButton"><a href="#clear">Clear</a></li>
    </ul>
    <div class="sig sigWrapper">
      <div class="typed"></div>
      <canvas class="pad" width="198" height="55"></canvas>
      <input type="hidden" name="output" class="output">
    </div>
    <button type="submit">Submit.</button>
<?php
    // this is the part that writes outout
    require_once 'signature-to-image.php';
$json = $_POST['output'];
$img = sigJsonToImage($json);
imagepng($img, 'signature.png');
  ?>
</form>
  <script src="jquery.signaturepad.js"></script>
  <script>
    $(document).ready(function() {
      $('.sigPad').signaturePad({drawOnly:true});
    });
  </script>
  <script src="./assets/json2.min.js"></script>
</body>

(结束代码)

如果有人能帮忙,我会很感激的。我只是在学习,我希望不是在这种情况下(与工作有关),但我没有选择。非常感谢!

我建议改变这一点,以便将包含filename的变量传递给imagepng函数

imagepng($img, 'signature.png');

所以应该是

$ext = array();
$ext['png'] = '.png';
// in case you entered a name in your "store name" box it will be assigned as filename, otherwise, 'signature' will be the default name
$filename = ((isset($_POST['name'])) ? $_POST['name'] : 'signature') . $ext['png'];
imagepng($img, $filename);

注意

$ext是一个数组,您可以添加您想要的所有扩展,并且在将来您的代码将易于管理,以防您处理例如imagejpeg函数。

希望有帮助:-)