2014-03-27 60 views
-1

我的名字是皮特,我對大衆有疑問。我正在使用托馬斯·J·布拉德利的網站上發現的代碼來工作。這是一個簽名驗收應用程序,可以將簽名(從平板電腦設備)轉換爲PNG文件以進行任何操作。它的工作原理,但我想對它做一些修改。下面是該網站:編程noob的問題

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> 

(結束代碼)

如果有人可以幫助我將不勝感激。我只是在學習,我希望這不是在這種情況下(與工作有關),但我沒有選擇。非常感謝你!

+0

你應該考慮尋找到I/O API –

+0

不知道該庫文件,但我敢肯定,你需要看看這個:** imagepng( $ img,'signature.png'); **代替signature.png輸入你想要的文件名 – Dexa

+0

謝謝Dexa,我可以將文件名更改爲whatever.png,這就是它的保存方式,它可以工作。我正在尋找能夠在頁面頂部的框中輸入文件名的功能。 Ponsicte和Michael在下面提出了一個建議,我將嘗試。謝謝你的建議! – user3468549

回答

1

我建議,爲了改變這種傳遞給imagepng功能,包含filename

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函數。

希望這有助於:-)

+0

我會建議做一些進一步的修改,將.png連接到POST的末尾 - 確保文件名包含擴展名,而不必依靠用戶提供它。 所以,如果用戶輸入文件名,服務器使filename.png – Michael

+0

你是對的!我要解決它。 – ponciste

+0

這可能是最好的使後和擴展連接變量,然後調用變量imagepng() – Michael