0
我正在使用以下內容在pdf上簽名。我的表單上的img,img2,& img3字段包含簽名作爲字符串。只要所有3個字段包含數據/簽名,它就可以完美工作。如果有任何留爲空白,腳本停在如果(isset)條件未按預期停止php
file_put_contents($image, base64_decode($arr[1]));
當我不籤一個或多個簽名,螢火蟲確認沒有POSTDATA正在發送該字段。所以我一定在php中做錯了什麼。
如果引用字段爲空,那麼下面的代碼不應該停止所有圖像處理嗎?
有沒有不同的方法來實現這個目標?
感謝您的幫助!
require_once('fpdf/fpdf.php');
require_once('fpdi/fpdi.php');
$pdf = new FPDI('P', 'mm', 'Letter');
$pagecount = $pdf->setSourceFile($ffn);
for($i = 1 ; $i <= $pagecount ; $i++){
$tpl = $pdf->importPage($i);
$pdf->AddPage();
$pdf->useTemplate($tpl, 0, 0);
if ($i==7) {
if(isset($_POST['img'])){
$hash = uniqid();
$arr = explode(',',$_POST['img']);
$image = dirname(__FILE__).'/results/sig'.$hash.'.png';
file_put_contents($image, base64_decode($arr[1]));
$pdf->Image($image,38,193,-200);
};
if(isset($_POST['img2'])){
$hash2 = uniqid();
$arr2 = explode(',',$_POST['img2']);
$image2 = dirname(__FILE__).'/results/sig'.$hash2.'.png';
file_put_contents($image2, base64_decode($arr2[1]));
$pdf->Image($image2,38,217,-200);
};
if(isset($_POST['img3'])){
$hash3 = uniqid();
$arr3 = explode(',',$_POST['img3']);
$image3 = dirname(__FILE__).'/results/sig'.$hash3.'.png';
file_put_contents($image3, base64_decode($arr3[1]));
$pdf->Image($image3,38,241,-200);
};
};
if ($i==8) {
$locmap = $_POST['_fid_209'];
$pdf->Image('http://maps.googleapis.com/maps/api/staticmap?markers=color:blue%7Clabel:I%7C'.$locmap.'&zoom=14&size=800x800&sensor=false',63,90,90,0,'PNG');
};
}
$pdf->Output($ffn, 'F');
你似乎已經回答了你的問題,你的問題:) **應不低於代碼停止所有的圖像處理,如果引用的領域是'empty' ?**使用'empty()'功能 –
怎麼樣?爲了清楚起見,即使img字段爲空,腳本也正在移動代碼(並破壞)。如果(isset)發生,如果字段爲空,我需要防止每行下面的5行。 – user1911141
不使用'isset',使用'if(!empty())'它的文本字段,它總是會被設置在後 –