2016-12-06 4 views
0

私はHTMLフォームを持っていて、私はPHP関数を持っています。 PHP関数コードを実行するためにhtml形式の添付ファイル要素が必要です。その後、電子メールに送信されます。私は解析されるためにデータを必要とし、電子メールに送信します。添付ファイルはSPA拡張機能になります。ここで HTMLフォームのPHP関数をアタッチメントのアクションとして呼び出す方法

は、フォームのコードである - ここで

<form METHOD = "POST" action="mailto: [email protected]"> 
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; 
} 
?> 

あなたがPHPを呼び出す必要が2

+0

は1つのフォームを作成します。.. は、電子メールアドレスにメールを送信する

$name = $_POST['name']; 

とユーザーPHPのmailto機能により、フォームの入力フィールドからすべての値を受け取り、あなたが受信したデータを使って何を行うことができますPHPによる電子メール送信とファイル処理の両方を同じファイルで処理します。そして率直に言って、HTMLコード "html5"はかなり傲慢だと呼んでいます。あなたは適切なセマンティクスを欠いています。「

答えて

0

を接続する方法上の任意の提案をコード - ですaction="the_php_file.php"
のファイルには、ファイル自体にアクションメールが含まれます

0

htmlフォームでの関数呼び出しは、オブジェクト指向のPHPの機能です。あなたは生のPHPでそれを使用することはできません.. これを行うことができます以下。

で第2作成ファイル 1- something.php 2- processing.php

something.phpでフォームを作り、

<form METHOD = "POST" action="processing.php"> 

ような作用を与え、置くよりもよりprocessing.phpファイルのPHPコード。 、

関連する問題