2016-04-12 16 views
-1

Şu an çalıştığım, ancak tam olarak istediğim gibi çalışmasını sağlamak için doğru kodu alamıyorum. Şu anda bu benim kodudur:Girdi değerleri php ile bir dosyaya nasıl yazılır

$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); 

Bu bir metin dosyasına yazar ve içerikleri olarak yazılır:

Circle, geniş, 11, Erkek, Smart, çok güzel, Kyle, Kyle @ gmail .com

ancak ben dosyasındaki değerler yerine virgül daha noktalı virgülle ayrılmış olmak istiyorum, bir php sayfasından tüm bu değerleri almak ve ben de her girişin numaralandırılır sayımını uygulamak istiyoruz.

1: Burada

bir örnektir Çember: Büyük: 11: Erkek: Akıllı: çok güzel: Kyle: [email protected]

2: Kare: Küçük: 14: Kadın : Akıllı: çok güzel: Kylie: [email protected]

+2

değişim implode bir kolon – Ibu

+0

vay vay ben bunu denedim ve işe yaramadı yemin nedense ile virgül:

söyleniyor

yapmanız hareket ederler hattını değiştirmek gerekir İlk denediğimde bir şeyleri mahvedemem gerekiyor! –

+0

Teşekkür ederim :) şimdi sadece bir sayacı –

cevap

2

kod kendisi bir döngü varsa, yaparım çok basit:

$c = 1; // counter 

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

Bu satır, sayaçtan ve kullandığınız orijinal dizi öğelerinden oluşan bir kolon (ve boşluk) ile ayrılmış geçici bir dizi oluşturur. Bunu yapmanın tonlarca yolu var, bu sadece en hızlı olduğumu buldu. Lütfen karşı dinamik ise

ilk olarak, gereken (dosyaya her zaman ekleme) count the number of lines in the file ve sonra sadece tek bir artıracaktır.

+0

bu tam im aradığını gibi görünüyor! Ancak bana bir hata veriyor –

+0

Bu hatanın bir metni var mı? – Shomz

+0

"sözdizimi hatası, beklenmedik"; ' " –

1

Açıkçası, sadece implode() işlevi tarafından kullanılan tutkal parametresini değiştirmeniz gerekir (daha fazla ayrıntı için bkz. doc). Ancak şimdi,

$colon_delmited_list = implode(":", $_POST) . "\n"; 
İlgili konular