[英]Change PHP to get image urls from mysql database instead of a .txt file
[英]php, change a db: from MySQL to txt file
我是編程的新手,我找到了這個腳本,我想適應我的需要,該腳本將郵件地址保存在MySQL db上,但是我想將其保存在txt文件中,可以重新使用此代碼?
地址.php
require "includes/connect.php";
$msg = '';
if($_POST['email']){
// Requested with AJAX:
$ajax = ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest');
try{
if(!filter_input(INPUT_POST,'email',FILTER_VALIDATE_EMAIL)){
throw new Exception('Invalid Email!');
}
$mysqli->query("INSERT INTO coming_soon_emails
SET email='".$mysqli->real_escape_string($_POST['email'])."'");
if($mysqli->affected_rows != 1){
throw new Exception('This email already exists in the database.');
}
if($ajax){
die('{"status":1}');
}
$msg = "Thank you!";
}
catch (Exception $e){
if($ajax){
die(json_encode(array('error'=>$e->getMessage())));
}
$msg = $e->getMessage();
}
}
connect.php在哪里
<?php
error_reporting(E_ALL ^ E_NOTICE);
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';
@$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);
if (mysqli_connect_errno()) {
die('<h1>Could not connect to the database</h1><h2>Please try again after a few moments.</h2>');
}
$mysqli->set_charset("utf8");
?>
該文件非常特定於使用數據庫。 但是,使用文件並不困難。 我建議不要使用普通文件,而應考慮使用像sqlite這樣的數據庫,該數據庫使用文件而不是完全成熟的數據庫。
如果您准備使用文件,則可以在php中非常輕松地操作文件。 下面是一些示例:
$file = fopen('path/to/file', 'r+');
fputs($file, 'email@domain.com');
// fputs() is an alias for fwrite, they are interchangable
本頁詳細介紹了使用fopen()
打開文件的不同模式。 您將需要特別注意模式是在文件的開頭還是結尾處打開文件指針。 如果您向該文件寫了一些電子郵件,然后稍后再次使用文件指針打開該文件以開始寫更多電子郵件,則將覆蓋現有數據。 這是使用數據庫的一個很好的理由,因為它需要更大的麻煩才能刪除現有數據。
fputs()
用於將行寫入文件。 顯然,您可以傳遞一個變量,而不要傳遞我在示例中經過硬編碼的字符串,只需確保該變量是一些有意義的字符串即可。 例如,您不能傳遞一系列電子郵件。 您將不得不遍歷數組並為每封電子郵件調用fputs()
。
您可以重用其中的一部分; 實際上將數據保存到數據庫的那一行是從$mysqli->query
開始的$mysqli->query
行,其后的那一行是對成功的檢查。 刪除它們,並用您自己的文本文件保存功能替換它們(並將它們放在包含文件中,而不是給定的定義mysqli連接器的文件中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.