Zend çerçevesini kullanarak CSV dosyalarını nasıl alabilirim? Zend_file_transfer kullanmalı mıyım yoksa bakmam gereken özel bir sınıf var mı? Ayrıca eğer zend_file_transfer kullanırsam CSV için özel bir doğrulayıcı var mı?zend kullanarak alma CSV
cevap
size sadece Zend ile bunu yapmak için hiçbir yolu yoktur fgetcsv
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
Yan uyarı: 'fgetcsv()' gerçekten unicode'u desteklemiyor, bu yüzden lokalleri juggle etmeniz gerekebilir. – Darien
Evet, bunu fgetcsv kullanarak nasıl yapacağımı biliyorum ama özellikle zend ile ilgileniyorum. Yine de cevabın için teşekkürler. – JABD
Dahili CSV fonksiyonları hatalı ve buggy. Yerel PHP'de CSV'yi ayrıştırmaya çalışmak bir kabus. –
bakmak, yerli php fonksiyonlarını kullanabilir, csv dosyalarını almak için herhangi bir zend kütüphaneleri kullanmak zorunda değilsiniz Çerçeve. Nasıl emin olabilirsiniz? Örneğin
, Zend_Translate CSV dosyaları ile çeviriyi desteklemektedir, ancak ilgili adaptör (Zend_Translate_Adapter_Csv ) kaynak kodunu kontrol ederseniz, bunu fgetcsv değil, belirli bir Zend sınıfı kullanır doğrulayabilir. Ayrıca, bu CSV adaptör aşağıdaki uyarı geliyor:Not: CSV dosyaları çevrenin yerel ayarından daha farklı şekilde kodlanmış olduğunda Csv Adaptörü problemleri olduğu dikkat edin. Bu, PHP 6.0 'un PHP 6.0 (http://bugs.php.net/bug.php?id=38471) 'den önce düzeltilmeyeceği bir Hata Bugünden dolayı 'dur. Csv Bağdaştırıcının PHP kısıtlamaları nedeniyle yerel ayarının farkında olmadığını unutmayın. fgetcsv fonksiyon sorunları ile ilgilidir
.
Burada, csv dosyasını okuyan ve ilk iki sütun veri değerini içeren bir dizi öğe döndüren bir işlev vardır.
Bu işlev örneğin first_name, last_name adlı bir dosyayı okuyabilir.
function processFile ($filename) {
$rtn = array();
if (($handle = fopen($filename, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$item = array();
$item[] = $data[0];
$item[] = $data[1];
$rtn[] = $item;
}
}
return $rtn;
}
Ayrıca CSV dosyalarını okumak için SplFileObject
'u da kullanabilirsiniz. php kılavuzunda itibaren
<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
list($animal, $class, $legs) = $row;
printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>
SplFileObject herhangi bir yararlı doğrulama/hata sağlamaz - çöplükten geçmek, $ satırının öğenin tüm satırın olduğu bir öğe dizisi olmasıyla sonuçlanacaktır. –
- 1. Yakut - CSV alma - dize
- 2. CodeIgniter için CSV Alma Kitaplığı
- 3. DoCmd.TransferText ağ izinlerini kullanarak csv dosyasını MS Access'e alma
- 4. Zend Framework: Bootstrap'ta istek nesnesi alma
- 5. CSV Dosyalarının Karşılaştırmalarını Kullanarak CSV Ekleme
- 6. Zend Framework
- 7. Karşıdan Yükle CSV Alma To Get-Date
- 8. Ayraç kullanarak csv dosyasına yazma
- 9. Zend çerçevesi; Farklı görüntüleyici kullanabilmek için denetleyici alma
- 10. zend framework kullanarak site haritası nasıl oluşturulur?
- 11. Cassandra .csv alma hatası: toplu iş çok büyük
- 12. Autoincrementing birincil anahtar ile sqlite içine csv alma
- 13. Benim Zend uygulamada kırıntıları kullanıyorum zend framework
- 14. JSON'dan R jsonlite paketini kullanarak CSV dönüşümü
- 15. CSV dosya üstbilgisini apache commons kullanarak alın
- 16. Pandalar kullanarak csv dosyasından başlık bilgilerini okuma
- 17. Akka Streams kullanarak bir CSV dosyalarını okuma
- 18. SQLCMD.EXE kullanarak CSV verilerini dışa aktarma
- 19. django csv dosyasını bir bağlantı kullanarak indir
- 20. CSV
- 21. csv
- 22. csv
- 23. MySQL kullanarak zaman damgası alma
- 24. Getaddrinfo Kullanarak DNS'yi Önbelleğe Alma
- 25. VB6 kullanarak HTML'den içerik alma
- 26. Zend Framework
- 27. Zend Framework
- 28. Birim Zend Framework'de json çıktısı
- 29. ZF2 Zend \ Db Mysql İfadesini Kullanarak Ekleme/Güncelleştirme (Zend \ Db \ Sql \ Expression?)
- 30. Zend Lucene ben açıklama alanlarına numaralarını arayamazsınız Zend Lucene kullanarak sayılar
, sen Zend_Translate veya bir çeviri dosyası ayrıştırmak için aradığınız sürece (Zend içinde CSV ayrıştırmak için hiçbir sınıf var CSV dosyaları ile Zend_Auth kullanıyorsanız). 'Fgetcsv' ile oldukça basit, o yüzden sanırım orada bir derse gerek yok. – netcoder
@netcoder Tamam! Çok teşekkürler – JABD