2017-08-31 460 views
0

我有一個腳本根據用戶表單輸入生成Javascript。目前代碼被輸出到服務器上的txt文件,但我想把它放到MySql數據庫中。你可以一行一行寫一個PHP變量嗎?

寫作由線到一個txt文件行是容易的fopen,並與我的劇本有幫助的,由於生成的代碼和周圍用戶輸入(各種環路等)包裹的方式。

不過,我真的很喜歡寫輸出到一個變量,然後發送到數據庫。但是,我看不出有什麼辦法可以實現這個目標?

我敢肯定,這是可能的,但我發現網上的資料只有很基本的變量創建交易。

一個骯髒的解決辦法是寫txt文件,因爲我目前做的,然後將文本文件加載到一個變量,然後刪除該文本文件。但這看起來很愚蠢,顯然浪費了處理時間。

非常新的PHP很抱歉,如果上述看起來愚蠢。

+0

你需要做的是用Ajax提交表單到PHP – yBrodsky

+0

要檢索文本(自變量)的每一行,並寫入到數據庫,不是嗎? –

+3

你看過[string concatenation](http://php.net/manual/en/language.operators.string.php)嗎? – aynber

回答

1

這並不難,你可以用第一行聲明變量,然後遞增地寫入它,用\n轉義序列(代表一個新行)分隔每一行。正如評論所述,您可以使用內置插入大小的PHP_EOL。賦值操作符將操作符後面的字符串追加到操作前的變量值中。

$lines = "my first line"; 
while (condition) { 
    $lines .= PHP_EOL . "my next line"; 
} 

這樣做將是插入循環中的所有線路,並與剛剛宣佈一個空字符串開始的衍生物方式。

$lines = ""; 
while (condition) { 
    $lines .= "my next line" . PHP_EOL; 
} 

注意,此方法將在結尾處添加一個空的換行,你可以剪掉的需要。


可替代地,另一種方法是創建一個數組,推到它,然後使用implode函數到陣列粘合在一起成使用一個新行的字符串。

$lines = array(); 
while (condition) { 
    array_push($lines, "my next line"); 
} 
$lines = implode(PHP_EOL, $lines); 
+1

或'PHP_EOL'以獲得更好的互操作性。 –

+1

謝謝@ lawrence-cherone,編輯我的回答以反映這一點。 – andrewgu

+0

謝謝,我會對此發揮作用。 – user5838014

相關問題