[英]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.