Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

php mktime(); Garip Hata !


Öne çıkan mesajlar

Mesaj tarihi:

$gun = date('d');
$ay = date('m');
$yil = date('y');
$saat=date('G');
$dakika=date('i');
$bugun = mktime(0,0,0,$ay,$gun,$yil,0);
if(file_exists("blabla")) {
$f=fopen("blabla","r");
$gecmisgun = trim(fgets($f, 1024));
$gecmisay = trim(fgets($f, 1024));
$gecmisyil = trim(fgets($f, 1024));
fclose($f);
$dun = mktime(0,0,0,$gecmisay,$gecmisgun,$gecmisyil);
if($bugun > $dun && (($saat >= 21 && $dakika >= 30) || $saat >= 22)) {
copy("blablal","blablabla");
$f=fopen("blabla","w");
fwrite($f, date("dnmny"));
fclose($f);
}
} else {
copy("blabla","blabla");
$f=fopen("blabla","w");
fwrite($f, date("dnmny", time()-86400));
fclose($f);
}



Kodunda

tam şu satıda saçma bir hata alıyorum;

$dun = mktime(0,0,0,$gecmisay,$gecmisgun,$gecmisyil);


Hata : mktime() expects parameter 4 to be long, string given in blabalbla line blabllşdgj..

Valla bence kusursuz, çalışması lazım..
Ama anlamadım neden çalışmadığını.. Yardım edebilecek olan ?
Mesaj tarihi:
haa bi dakka lan, wdkjglkdshg..

kodda bi hata yok ama xml de belki ayı string giriyordur sdhgkjsd :D

kontrol edelim :D

Edit : yok yaw, her şey int işte :D
Mesaj tarihi:
Ahah..

Sabah sabah sana az php öğretem o vakit..
Detaylarla geliyor :D

$gun = date('d'); /// gün'ün date olduğunu tanımlıyorum
$ay = date('m'); /// ay'ın month olduğunu
$yil = date('y'); /// yil'ın year olduğunu
$saat=date('G'); /// saatii..
$dakika=date('i'); /// dakikayi...
$bugun = mktime(0,0,0,$ay,$gun,$yil,0); /// sonra bugunün değerlerini alıyorum..
if(file_exists("blabla")) { /// blabla dosyası var ise
$f=fopen("blabla","r"); /// dosyadan oku
$gecmisgun = trim(fgets($f, 1024)); /// gecmisgun dosyadaki şu veri
$gecmisay = trim(fgets($f, 1024)); /// gecmisay dosyadaki şu veri
$gecmisyil = trim(fgets($f, 1024)); /// gecmisyil dosyadaki şu veri
fclose($f); // kapat ula dosyayı
$dun = mktime(0,0,0,$gecmisay,$gecmisgun,$gecmisyil); /// dün ise yukardaki verilerden tarih alıyor burada
if($bugun > $dun && (($saat >= 21 && $dakika >= 30) || $saat >= 22)) { // zaman tanımı işte bugun dunden sonraysa ve saat 2030 ise
copy("blablal","blablabla"); /// blablabla dosyasını kopyala arkadaş
$f=fopen("blabla","w"); /// aç blablayı ve yaz
fwrite($f, date("dnmny")); /// doyanın kopyalandığı tarihi
fclose($f); /// kapat oynama fazla
}
} else { /// aksi ise
copy("blabla","blabla"); /// blabla bla yı blabla blaya kopyala yani oyle bir dosya yok ise :)
$f=fopen("blabla","w"); // blabla yı ac ve yaz
fwrite($f, date("dnmny", time()-86400)); /// gun zaman vs..
fclose($f);/// kapa çok oynadın
}
Mesaj tarihi:
Aldigin/okuttugun verilerde bir hata vardir. Ekrana bastirip bir kontrol et. Dogrulugundan eminsen o degerleri alirken $hede = (int)$hodo; seklinde type casting yap. Php 4 te var miydi bu type casting olayi hatirlamiyamadim simdi tam. Bi bakman gerekebilir 4.x kullaniyosan.

(normalde bu type casting olayinin alayini php kendi halleder ve kullanicinin tip atamasi yapmasi onerilmez der manual'inda. o deger string olsa bile integer'a long'a otomatik cevirir onu php. zend'in yalancisiyim : p )
Mesaj tarihi:

$gecmisgun = trim(fgets($f, 1024));
$gecmisay = trim(fgets($f, 1024));
$gecmisyil = trim(fgets($f, 1024));
echo $gecmisgun." ".$gecmisay." ".$gecmisyil."<br>";


echo ladım veriyor değerleri..

Edit :

Problem şu ki;

$bugun = mktime(0,0,0,$ay,$gun,$yil,0);

bu satırlarda, bugun değerini tanımlarken..
su satirlarda

$dun = mktime(0,0,0,$gecmisay,$gecmisgun,$gecmisyil);

dun'u tanımlayamıyor.. mktime hatası veriyor.
Mesaj tarihi:
07505508

dosyadaki text bu.

olay su ki, her seferinde önce xml'den tariih alıcak, sonra bu dosyadaki ile karşılaştırıcak, eğer gün değişmiş ve saat xx:xx olmuş ise, xmli güncelleyip yeni gün datasını dosyaya yazıcak. olay bu.
Mesaj tarihi:
e abicim öyleyse int olarak tutsana zamanı dosyada? niye o kadar takla atıyorsun? bir kere oku, o int'i date e çevir, kontrol ve işlemlerini yap.

iyice kafam karıştı, hiç anlamadım son söylediğini..
Mesaj tarihi:
yok ya ben bununla daha fazla uğraşmıyacağım, cronjob atıp hergun istediğim saatte kopyalatırım xml'i sonra oradan okuruz ne okuyacaksak.

Boşa uğraşıyorum valla, başlarım scriptine :D
Mesaj tarihi:
$gecmisgun = (int)trim(fgets($f, 1024));

olmazsa

$gecmisgun = trim(fgets($f, 1024));
$gecmisgun = (int)$gecmisgun;

hatta emin olmamakla beraber belki

(int)$gecmisgun = trim(fgets($f, 1024));

bile calisabilir.
Mesaj tarihi:
simdi soyle ki, string cikti verse bile implicit bir sekilde int'e cevirilebilecek bir degisken icin php hata dondurmez. yani okunan deger '12' ise php onu otomatik inte cevirip islem yapar zaten. bence senin sorunun, okunan deger '12-' gibi inte cevirilemeyen bir deger.

ama bilemiyorum, kafam karisti =)
×
×
  • Yeni Oluştur...