Php.

alicilinAli Fırat Güler

Hımm anladım. Yine dikkatsizliklerle doluyum :) işte kesinlikle çalışan kod :)

<?php

error_reporting(0);

$baslik='aaa';

$resim='a.jpg';

$link='http://www.google.com';

header("Content-type: text/xml\n\n");

echo'<?xml version="1.0" encoding="UTF-8"?>';

?>

<items> 

<?php

while($i < 2){

++$i;

?>

    <playlist_name>-= <?=$baslik;?> =-</playlist_name> 

<channel>

    <title><![CDATA[<?=$konu;?>]]></title>

    <logo_30x30><![CDATA[ <?=$resim;?> ]]></logo_30x30>

    <description><![CDATA[<img src="<?=$resim;?> ">]]></description>

    <stream_url><![CDATA[<?=$link;?> ]]></stream_url>

</channel>

<?php } ?>

</items>

2012-06-29 13:25:32

php

chessmanmehmet doğan

hocam dediğiniz gibi php kodu kesinlikle çalışıyor ama değişkenleri xml şablonuna yazdırmada bir problem var.

verdiğiniz kodu çalıştırdığımda aşağıdaki hatayı alıyorum

XML ayrıştırma hatası: iyi düzenlenmiş değil
Konum: http://localhost/playlist.php
Satır: 9,Sütun: 25: <playlist_name>-= <?=$baslik;?> =-</playlist_name>

ama bunun içerisinden <?=$baslik;?> değişkenini çıkardığımda

<items>

<playlist_name>-=  =-</playlist_name><channel>

<title><?=$konu?></title>

<logo_30x30> <?=$resim;?> </logo_30x30>

<description><img src'=<?=$resim;?> '></description>

<stream_url><?=$link;?> </stream_url>

</channel>


<playlist_name>-=  =-</playlist_name>

<channel>

<title><?=$konu?></title>

<logo_30x30> <?=$resim;?> </logo_30x30>

<description><img src'=<?=$resim;?> '></description>

<stream_url><?=$link;?> </stream_url>

</channel>

</items>

şeklinde ekran görüntüsü alıyorum.Burada iki hata var birincisi değişkenlerin içeriğinin yerlerine yazılmayıp olduğu gibi kendilerinin yazılması .

İkincisi ise

<playlist_name>-=  =-</playlist_name>

satırının  ikinci tekrarda yine basılması.Yani o satır xml nin başında bir kere yazılacak alttaki tekrarlarda o olmayacak.

<items>
    <playlist_name>-=  =-</playlist_name>

<channel>
    <title><![CDATA[  ]]></title>
    <logo_30x30><![CDATA[   ]]></logo_30x30>
    <description><![CDATA[  ]]></description>
    <stream_url><![CDATA[   ]]></stream_url>
</channel>

<channel>
    <title><![CDATA[  ]]></title>
    <logo_30x30><![CDATA[    ]]></logo_30x30>
    <description><![CDATA[  ]]></description>
    <stream_url><![CDATA[   ]]></stream_url>
</channel>

</items>
şeklinde yani.Her şeyi anladımda bu değişkenlerin neden içeriği boşluklara yazdırmamasını anlamadım.

2012-06-29 15:44:18 Edit:2012-06-29 15:47:41

Edit:

Php

alicilinAli Fırat Güler

sebebi şu ;

php.ini ayarlarınızda short_open_tag=off şeklindedir yani

normalde sunucuya belgemizde bir php kodu olduğunu bildirmemiz için "<?php"

tagı ile "?>" arasına php kodları yazarız. Aynı işlevi "<?" ile  "?>" görür fakat sizin php.ini ayar dosyanızda bu kısa tag tanımlaması kapalıdır. bu yüzden boş dönderiyor.

<?=$baslik;?>  bu şekilde ekrana basılan yerleri

<?php echo $baslik; ?> şeklinde değiştirirseniz. sorun kalmaz.

birde mademki playlist birdefa yazıcak;

<playlist_name>-= <?=$baslik;?> =-</playlist_name>  bu kısmı while döngüsü dışına alırsınız. sorun kalmaz.

2012-06-29 20:10:29 Edit:2012-06-29 20:15:25

Php

chessmanmehmet doğan

Hocam ellerinize sağlık tam istediğim şekilde oldu.Eğer sizi yormazsam son bir şey istiyecem.Çıktıyı ekranda değilde bir dosya şeklinde kayıt yaparak veremezmi.

2012-06-30 01:14:38

Php

alicilinAli Fırat Güler

Şu şekilde bir kod işini görücektir sanırım. Yine denemeden paylaşıyorum ama hayırlısı :D

<?php

error_reporting(0);

$baslik='aaa';

$resim='a.jpg';

$link='http://www.google.com';

$xml=array();

$xml[]='<?xml version="1.0" encoding="UTF-8"?>

<items> 

<playlist_name>-= '.$baslik.' =-</playlist_name>'; 

while($i < 5){

++$i; 

$xml[]='<channel>

<title><![CDATA['.$konu.']]></title>

<logo_30x30><![CDATA[ '.$resim.']]></logo_30x30>

<description><![CDATA[<img src="'.$resim.'">]]></description>

<stream_url><![CDATA['.$link.']]></stream_url>

</channel>';

}

$xml[]='</items>';

if(file_put_contents('playlist.xml',implode("\n",$xml))) echo'playlisteniz oluşturuldu !';

?>

2012-06-30 01:30:35

chessmanmehmet doğan

Hocam çok teşekkürler.Tam istediğim şekilde oldu.Allah'ta size gönlünüze göre versin.

2012-06-30 03:27:27

Edit:

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro