Autor | Zpráva | ||
---|---|---|---|
Tirus Profil |
#1 · Zasláno: 20. 4. 2011, 15:38:34 · Upravil/a: Tirus
Chtěl bych se zeptat. dělám si metodu pro logování, ovšem sice vše chodí, jen název souboru mi zkrátí (nepřidá tam minuty a koncovku v případě když nezadám jméno souboru)
public function to_log() { if ($this->debug) { if (!empty($this->data)) { $this->error .= 'Nejsou prázdná data<br/>'; if (empty($this->filename)) $this->filename = 'log_' . date("d-m-Y_H:m") . '.txt'; if ($this->checkDir()) { $this->filename = $this->dir . $this->filename; $this->file = fopen($this->filename, 'w'); if (is_array($this->data)) { foreach ($this->data as $key => $value) { $this->buffer .= $key . ': ' . $value . ' \r\n'; } $this->data = $this->buffer; $this->buffer = null; } if (fwrite($this->file, $this->data)) $this->succes = true; fclose($this->file); return $this->succes; } } else { $this->error .= 'Data jsou prázdná<br/>'; return $this->succes; } } else { $this->error .= 'Není povolen debug mod<br/>'; return false; } } private function checkDir() { if (!is_dir($this->dir)) { $this->error .= 'Není to složka <br/>'; if (mkdir($this->dir)) { $this->error .= 'Složka je vytvořena <br/>'; return true; } else { $this->error .= 'Nepodařilo se vytvořit složku <br/>'; return false; } } else { $this->error .= 'Je to složka<br/>'; return true; } return true; } a nyní když je to pole, tak mi to do souboru uloží doslova např. 0: aaa \r\n 1: bbbb \r\n |
||
Jozin Profil * |
#2 · Zasláno: 20. 4. 2011, 17:06:16
Ahoj,
nejspíš bude chyba tady: date("d-m-Y_H:m") //oprava date("d-m-Y_H:i:s") m je totiž měsíc a né minuty. Aby tam byly i sekundy tak s. Doufám, že jsem tvůj problém pochopil. Jozin. |
||
Tirus Profil |
#3 · Zasláno: 20. 4. 2011, 19:06:37
Jozin:
ahoj, z části ano, ale spíše ne :) ... ale děkuji za upozornění s tím formátem.. v tom filename je v e skutečnosti celé jméno, ale výsledek je na HDD takovejhle: složka log a v ní je soubor s celým názvem (vč. přípony) - log_20-04-2011_19 |
||
Tori Profil |
#4 · Zasláno: 20. 4. 2011, 19:35:53
Tirus:
A velmi by vadilo dát do jména souboru místo dvojtečky jiný znak, třeba pomlčku? Sice můžou být názvy souborů s mezerami, uvozovkami a interpunkcí, ale pokud to není nezbytně nutné, tak mi přijde bezpečnější se tomu vyhnout. |
||
Jozin Profil * |
#5 · Zasláno: 20. 4. 2011, 19:40:22
Máš tam podmínku empty($this->filename). To znamená, pokud je prázdný filename, tak to přetvoř na 'log_' . date("d-m-Y_H:i:s") . '.txt', takže pokud je vyplněn filename, tak to uloží jako filename a tento název neřeší.
Čeho tedy chceš dosáhnout? A kde zadáváš filename? Možná si sem měl dát celou tu třídu. Jozin. |
||
Davex Profil |
#6 · Zasláno: 20. 4. 2011, 20:05:32
Tirus:
V některých operačních systémech není dovolena dvojtečka v názvu souboru, protože má speciální význam. Nahraď jí nějakým povoleným znakem. |
||
Tirus Profil |
#7 · Zasláno: 20. 4. 2011, 20:25:40 · Upravil/a: Tirus
tak bylo to tou dvojtečkou.. děkuji
|
||
Časová prodleva: 15 let
|
0