Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP:如何检查表单数据是否与文本文件中的相同?_Javascript_Php_Html - Fatal编程技术网

Javascript PHP:如何检查表单数据是否与文本文件中的相同?

Javascript PHP:如何检查表单数据是否与文本文件中的相同?,javascript,php,html,Javascript,Php,Html,我有一个.text文件,其中存储的数据如下: <tr><td>Val 1</td><td>Val 2</td><td>Val 3</td></tr> <tr><td>Val 1</td><td>Val 2</td><td>Val 3</td></tr> <tr><td>Val 1&l

我有一个
.text
文件,其中存储的数据如下:

<tr><td>Val 1</td><td>Val 2</td><td>Val 3</td></tr>
<tr><td>Val 1</td><td>Val 2</td><td>Val 3</td></tr>
<tr><td>Val 1</td><td>Val 2</td><td>Val 3</td></tr>
我的问题是:如果字符串存在,如何在文件中搜索,如果存在,如何执行代码块,如果不存在,如何继续并将数据保存到文件中


我知道我可以使用数据库,但我必须使用
.text
文件。

首先必须通过读取和字符串搜索来检查文件,如果未找到字符串,则执行操作。请参考下面的例子

<?php

$productFile = file_get_contents('products.txt');
$products = str_word_count($productFile, 1);

$status = 'i love watching tv on my brand new apple mac';

$found = false;
foreach ($products as $product)
{
    if (strpos($status,$product) !== false) {
        $found = true;
        break;
    }
}

if ($found) {
    echo 'the status contains a product';
}
else {
    echo 'The status doesnt contain a product';
}

?>

首先,您必须通过读取和字符串搜索来检查文件,如果未找到字符串,则执行操作。请参考下面的例子

<?php

$productFile = file_get_contents('products.txt');
$products = str_word_count($productFile, 1);

$status = 'i love watching tv on my brand new apple mac';

$found = false;
foreach ($products as $product)
{
    if (strpos($status,$product) !== false) {
        $found = true;
        break;
    }
}

if ($found) {
    echo 'the status contains a product';
}
else {
    echo 'The status doesnt contain a product';
}

?>

我认为现有答案满足了这个问题,但只是对问题进行了评论 问题本身:

可以简化操作的方法是为您的应用程序使用不同的格式 文本文件。我假定您正在文件内部使用标记,以便 可以轻松地将其显示为html,但您不应该让数据以这种方式显示 显示指示数据的存储方式。如果您将数据存储在CSV中 然后,您可以轻松地将数据表表示为数组,这使得 由于您有一个结构化的层次结构,访问这些值要容易得多 在内存中的表示,而不是单个长字符串

这不仅使处理数据更容易,而且还允许您 轻松更改数据的显示方式,而无需更改 数据的结构。当前,如果您想使用 如果使用div而不是表,那么您不仅需要更改所有数据 在文本文件本身中,以及在代码中 希望能够解析它。通过分离存储表示和可视化 表示您可以在单个位置进行这些更改。使用 CSV还允许跨其他系统更好地互操作您的数据

您可以像这样存储数据:

Val 1a, Val 2a, Val 3a
Val 1b, Val 2b, Val 3b
Val 1c, Val 2c, Val 3c
然后访问现有数据并保存新数据可以是:

<?php

define("DATA_FILE", "data.csv");

/**
 * Retrieves the data from the csv file and returns it in the format:
 * [
 *   [
 *     Val1 => ...,
 *     Val2 => ...,
 *     Val2 => ...,
 *   ],
 *   [
 *     Val1 => ...,
 *     Val2 => ...,
 *     Val2 => ...,
 *   ]
 * ],
 */
function getData() {
  // these will be the key names for the fields in the array
  $fieldNames = ["Val1", "Val2", "Val3"];
  $data = [];
  foreach (file(DATA_FILE) as $row) {
    $csvRow = str_getcsv($row);
    $data[] = array_combine($fieldNames, $csvRow);
  }
  return $data;
}

/**
 * Saves new data to the file. Takes data in the form:
 * [
 *   Val1 => ...,
 *   Val2 => ...,
 *   Val2 => ...,
 * ],
 */
function saveNewData($values) {
  $fp = fopen(DATA_FILE, "a");
  fputcsv($fp, [$values["Val1"], $values["Val2"], $values["Val3"]]);
  fclose($fp);
}

我认为现有的答案满足了这个问题,但只是对
问题本身:

可以简化操作的方法是为您的应用程序使用不同的格式 文本文件。我假定您正在文件内部使用标记,以便 可以轻松地将其显示为html,但您不应该让数据以这种方式显示 显示指示数据的存储方式。如果您将数据存储在CSV中 然后,您可以轻松地将数据表表示为数组,这使得 由于您有一个结构化的层次结构,访问这些值要容易得多 在内存中的表示,而不是单个长字符串

这不仅使处理数据更容易,而且还允许您 轻松更改数据的显示方式,而无需更改 数据的结构。当前,如果您想使用 如果使用div而不是表,那么您不仅需要更改所有数据 在文本文件本身中,以及在代码中 希望能够解析它。通过分离存储表示和可视化 表示您可以在单个位置进行这些更改。使用 CSV还允许跨其他系统更好地互操作您的数据

您可以像这样存储数据:

Val 1a, Val 2a, Val 3a
Val 1b, Val 2b, Val 3b
Val 1c, Val 2c, Val 3c
然后访问现有数据并保存新数据可以是:

<?php

define("DATA_FILE", "data.csv");

/**
 * Retrieves the data from the csv file and returns it in the format:
 * [
 *   [
 *     Val1 => ...,
 *     Val2 => ...,
 *     Val2 => ...,
 *   ],
 *   [
 *     Val1 => ...,
 *     Val2 => ...,
 *     Val2 => ...,
 *   ]
 * ],
 */
function getData() {
  // these will be the key names for the fields in the array
  $fieldNames = ["Val1", "Val2", "Val3"];
  $data = [];
  foreach (file(DATA_FILE) as $row) {
    $csvRow = str_getcsv($row);
    $data[] = array_combine($fieldNames, $csvRow);
  }
  return $data;
}

/**
 * Saves new data to the file. Takes data in the form:
 * [
 *   Val1 => ...,
 *   Val2 => ...,
 *   Val2 => ...,
 * ],
 */
function saveNewData($values) {
  $fp = fopen(DATA_FILE, "a");
  fputcsv($fp, [$values["Val1"], $values["Val2"], $values["Val3"]]);
  fclose($fp);
}

你为什么要存储混合了HTML代码的数据…?你为什么要存储混合了HTML代码的数据…?@KrisGeor:很高兴知道它解决了你的问题。当你在so门户找到有用的答案时,接受答案并投票。@KrisGeor:很高兴知道它解决了你的问题。当你在so门户中找到有用的答案时,请接受答案并投票。。