• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Exceldeki Resmi Mysql'e Aktarma ?

  • Konbuyu başlatan Konbuyu başlatan aypsn
  • Başlangıç tarihi Başlangıç tarihi

aypsn

Banned
Katılım
9 Temmuz 2012
Mesajlar
3
Excel Vers. ve Dili
2007
Merhabalar cümleten hayırlı günler dilerim. Php ile yeni tanıştım sayılır. Bir site kuruyorum ve siteye verileri seçtiğim excel dosyasından aktarmak istiyorum.
Bunu başardım excel dosyasını seçip veri tabanına yüklüyorum her yüklemede yeni id varsa kaydettiriyorum aynı idlerde de diğer alanları güncelleştiriyorum. Kodlarıda paylaşacağım belki bi arkadaşa lazım olur ilerde. Fakat benim merak ettiğim bişey var excel dosyasındaki resimleri de bi şekilde mysql veri tabanına kayıt etirebilir miyim ??? İlgilenen arkadaşlara şimdiden teşekkürler.


<?php
error_reporting(0);
require('reader.php'); //Spreadsheet_Excel_Reader classını bulunduran dosya

$connection = new Spreadsheet_Excel_Reader();
$dosya=@$_FILES['dosya']['name'];
if($dosya){
$uzanti=substr_replace($dosya,"",0,-3);
$isim="renkler";
$yeniisim=$isim.".".$uzanti;
$dosya=$yeniisim;
@move_uploaded_file(@$_FILES['dosya']['tmp_name'], "dosya/".$yeniisim);
}
$connection->read("dosya/".$dosya); //okunacak dosya
echo "<h2> Efendim Yüklediğiniz Dosya ismi ".$dosya."  Yüklediğiniz Dosya İçeriği Aşşağıdadır.</h2><hr/>";

print("<table border='1' width='20%'>");
print("<tr><th>id</th><th>Ad</th><th>soyad</th></tr>");


for ($i = 1; $i<$connection->sheets[0]['numRows']; $i++) //satır sayısı kadar çalışacak, ilk satırda başlıklar var
{
echo "<tr>";


for($j=1;$j<=$connection->sheets[0]['numCols'];$j++ ) //her satır için sütunları yazdırıyor
print("<td>".$connection->sheets[0]['cells'][$i+1][$j]."</td>");
echo "</tr>";
//echo $i;
$id=$connection->sheets[0]['cells'][$i+1][1];
$ad=$connection->sheets[0]['cells'][$i+1][2];
$soyad=$connection->sheets[0]['cells'][$i+1][3];
include("connection.php");



$sql=mysql_query("select * from falan where id='$id' ");
$konturol=mysql_num_rows($sql);// veri tabanından alan olarak alıp diziye atar normalde
if($konturol=="1")
{

$sql3=mysql_query("UPDATE falan SET ad='".$ad."' , soyad='".$soyad."' where id='$id' ");

}

if($konturol=="0")
{
echo "eklenen satırlar ".$ad."<br>";
$sql=mysql_query("insert into falan (id,ad,soyad) values('$id','$ad','$soyad')");

}






}
echo "</table>";
?>
 
kendi sorumun cevabı

araştırdım direk olarak resim aktarmayı bulamadım. Ama şöyle yaptım excel dosyasını web sayfası olarak kaydettim üstündeki tüm resimleri bi klasöre çıkardı resimleri aldım başka bi klasöre koydum bazı resimlerden 2 şer tane vardı fazlaları sildim. Sonra klasördeki resim sayısını buldum while ile de her resmi sırasıyla veri tabanındaki id ile $i yi karşılaştıraraktan veri tabanında sırasıyla yazdırdım. Biraz uğraştırıdı ama çözdüm. Kodları paylaşıyorum yine belki bi mübareğin işine yarar.

<?


// Belirtilen dizindeki toplam dosya sayisi

// Dizini gir.
include("connection.php");
$dir = "kitap1_dosyalar";


$handle = opendir($dir);
$i = 0;
while (false !== ($file = readdir($handle))) {
if (!is_dir("$dir/$file")) {
$i++;
$sql=mysql_query("UPDATE falan SET resim='".$file."' where id='$i' ");
}
echo $file."<br>";

}
echo "Toplam Dosya: $i<br>";

?>
 
Geri
Üst