2016-04-12 1 views
-1

Итак, у меня в настоящее время работает, но я просто не могу получить правильный код, чтобы он работал точно так, как хотелось бы. В настоящее время это мой код:Как написать входные значения в файл с php

$type = $_POST['type']; 
$size = $_POST['size']; 
$age = $_POST['age']; 
$gender = $_POST['gender']; 
$traits = $_POST['traits']; 
$comments = $_POST['comments']; 
$Name = $_POST['firstn']; 
$Email = $_POST['email']; 

// the name of the file you're writing to 
$myFile = "info.txt"; 

// opens the file for appending (file must already exist) 
$fh = fopen($myFile, 'a'); 

// Makes a CSV list of your post data 
$colon_delmited_list = implode(",", $_POST) . "\n"; 

// Write to the file 
fwrite($fh, $colon_delmited_list); 

// You're done 
fclose($fh); 

Об этом пишет в текстовый файл и содержимое записывается в виде:

круг, Большой, 11, Мужчина, Smart, очень хороший, Кайл, Кайл @ gmail.com .com

Я получаю все эти значения со страницы PHP, но я хочу, чтобы значения в файле должны быть разделены двоеточиями, а не запятые, и я также хочу осуществить подсчет, где пронумерованный каждую запись.

Вот пример:

1: Круг: Большой: 11: Мужчина: Смарт: очень хороший: Кайл: [email protected]

2: Площадь: Small: 14: Женский : Смарт: очень хороший: Kylie: [email protected]

+2

изменения запятая с двоеточием в Implode – Ibu

+0

Ого по какой-то причине я клянусь, я попробовал, что и это не сработало, однако сейчас это, должно быть, я что-то испортил, когда впервые попробовал! –

+0

Спасибо :) теперь я просто застрял в реализации счетчика –

ответ

2

сам код очень прост, если у вас есть цикл, вы могли бы сделать:

$c = 1; // counter 

// inside the loop 
$colon_delmited_list = implode(": ", array_merge(array($c++), $_POST)) . "\n"; 

Эта строка создает временный массив, состоящий из счетчика плюс исходные элементы массива, которые вы использовали, разделенных двоеточием (и пробелом). Есть много способов сделать это, это только тот, который я нашел самым быстрым.

Если ваш счетчик динамичен (добавляется к файлу все время), вы должны сначала count the number of lines in the file, а затем просто увеличите его на единицу.

+0

это похоже на то, что им нужно! однако это дает мне ошибку –

+0

Имеет ли эта ошибка текст? – Shomz

+0

«Синтаксическая ошибка, неожиданная»; « –

1

Очевидно, вам нужно изменить параметр клея, используемый функцией implode() (см. Его doc для получения более подробной информации).

Это, как говорится, вы должны изменить Implode линию:

$colon_delmited_list = implode(":", $_POST) . "\n"; 
Смежные вопросы