我有一个html表单,我有一个PHP函数。我需要html表单中的attachment元素来运行php函数代码,然后发送到电子邮件。我需要解析数据然后发送到电子邮件。附件将是SPA扩展。
以下是表单的代码 -
<form METHOD = "POST" action="mailto: abc@xyz.com">
Material :
<input type ="text" name="material number"/> <br>
Batch Number:
<input type ="text" name= "batch number"/ > <br>
Processing Stage:
<input type ="text" name= "Processing State"/ > <br>
Analysis:
<input type= "text" name= "Analysis" /> <br>
Attachment:
<METHOD="post" ACTION="generatePlotForSPA(attachedfile)" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="attachedfile" MAXLENGTH=5000 > <br>
<input type="submit" value="Submit"/> <br>
</form>
这是PHP代码 -
<?php
function generatePlotForSPA($source, $targetFile) {
$sourceFile = fopen($source, "rb");
fseek($sourceFile, 386);
$targetOffset = current(unpack("v", fread($sourceFile, 2)));
if($targetOffset > filesize($source)) {
return false;
}
fseek($sourceFile, 390);
$dataLength = current(unpack("v", fread($sourceFile, 2)));
if($dataLength + $targetOffset > filesize($source)) {
return false;
}
fseek($sourceFile, $targetOffset);
$rawData = fread($sourceFile, $dataLength);
$rawDataOutputPath = $source . "_raw_data";
$outputFile = fopen($rawDataOutputPath, "w");
fwrite($outputFile, $rawData);
fclose($outputFile);
$gnuScript = "set terminal png size {width},{height};
set output '{output}';
unset key;
unset border;
plot '<cat' binary filetype=bin format='%float32' endian=little array=1:0 with lines lt rgb 'black';";
$targetScript = str_replace("{output}", $targetFile, $gnuScript);
$targetScript = str_replace("{width}", 500, $targetScript);
$targetScript = str_replace("{height}", 400, $targetScript);
$gnuPath = "gnuplot";
$outputScript = "cat \"" . $rawDataOutputPath . "\" | " . $gnuPath . " -e \"" . $targetScript . "\"";
exec($outputScript);
if(!file_exists($targetFile)) {
return false;
}
return true;
}
?>
有关如何连接两个
的任何建议答案 0 :(得分:0)
你需要在action="the_php_file.php"
中调用php文件
然后在文件本身中包含要执行的邮件
答案 1 :(得分:0)
html表单动作中的函数调用是面向对象的php的特性。你不能在原始的PHP中使用它.. 你可以在下面这样做。
首先创建2个文件 1- something.php 2- processing.php
而不是在something.php中创建表单 并给出像
这样的动作<form METHOD = "POST" action="processing.php">
并将php代码放在processing.php文件中。 通过
接收表单输入字段中的所有值$name = $_POST['name'];
和用户php mailto函数在电子邮件地址中发送邮件,您可以对收到的数据做任何事情。