Autor | Zpráva | ||
---|---|---|---|
mochitto Profil * |
#1 · Zasláno: 5. 8. 2008, 11:47:51
Dobrý den,
Chtěl bych smazat soubor po vygenorování <?php function generuj () { $moznosti= array("2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h", "j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); $mista="6"; $captha=""; for ($i=0 ;$i<=$mista-1 ;$i++) { $nahoda=rand(0, count($moznosti)-1); $captha.=$moznosti[$nahoda]; } return $captha; } function spocti_barvu($kod) { $kod = strtolower($kod); $hex = Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f") ; $barvy = Array("red","green","blue"); for($i = 0; $i < 3; $i++) { $cast = substr($kod, $i * 2, 2); $a = array_search(substr($cast,0,1), $hex); $b = array_search(substr($cast,1,2), $hex); $rgb[$barvy[$i]] = $b + $a * 16; } return $rgb; } function nastav_barvu($prvek,$obrazek) { $cast = imagecolorallocate($obrazek,$prvek['red'],$prvek['green'],$prvek['blue ']); return $cast; } $sirka = "120"; $vyska = "23"; $obrazek = imagecreatetruecolor($sirka,$vyska); $text1 = spocti_barvu("00000"); $text1 = nastav_barvu($text1,$obrazek); imagesetthickness($obrazek, 1); $logo=ImageCreateFromPNG("./captha/pozadi.png"); ImageCopyResized($obrazek, $logo, 0, 0, 0, 0, (120), (23), 120, 23); $sifra = generuj(); imagettftext($obrazek, 10, 0, 34, 16, $text1, "./captha/font.ttf", "$sifra"); $sifra_1 = md5($sifra); $sifra_2 = "$sifra_1.png"; imagepng($obrazek,"./captha/img/$sifra_1.png"); imagedestroy($obrazek); $_SESSION['captha_2'] = $sifra_1; echo "<table>\n"; echo " <tr>\n"; echo " <td><b><label for=\"captha\">Opište text**:</b></td>\n"; echo " <td><img src=\"./captha/img/$sifra_1.png\" alt=\"Opište kód na obrázku\"></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td><INPUT TYPE=\"TEXT\" NAME=\"captha\" VALUE=\"\"></td>\n"; echo " <td><input type=\"submit\" value=\"Odeslat zprávu\"></td>\n"; echo " </tr>\n"; echo "</table>\n"; $vlozit = mysql_query("INSERT INTO captha (name) VALUES ('$sifra_2')") or die (mysql_error()); //je proto že se ulozi nazvy obrazku a pak smazu prez ftp pripojeni ale nebavy me to mazat /*--§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§--Mazání CAPTCHA obrázků */ $handle=@opendir("./captha/img/"); $pocet_souboru_v_dir=0; while ($file = @readdir($handle)) { if ($file != "." && $file != ".."){$pocet_souboru_v_dir++;} } if($pocet_souboru_v_dir >= "10"){ $i = 0; while($i != $pocet_souboru_v_dir){ while ($file = @readdir($handle)) { if ($file != "." && $file != "..") { @unlink($file); $i++;} } } } @closedir($handle); ?> |
||
Alphard Profil |
#2 · Zasláno: 5. 8. 2008, 12:40:35
no, takže tady je nádherný kód, žádný dotaz ani podrobné informace, napiš, čeho chceš dosáhnout a jestli máš PHP ve verzi 5 (asi se bude hodit scandir())
|
||
LamiCZ Profil * |
#3 · Zasláno: 5. 8. 2008, 14:19:10
Tohle cely uloz do samostatneho souboru a pres header('Content-type: image/png') nastav typ obsahu (PNG obrazek). Pak ve fci imagepng nezadavej druhy parametr cesty na disk, ale nech ho vygenerovat do pameti. V tom formu se pak odkaz na ten soubor napr. takhle:
<img src="captcha.php" alt="captcha"> Mno, a nepotrebujes zadnou DB, neni duvod ty obr ukladat a ani mazat... ;) Hlavne ten script pak muzes pouzit libovolne kde potrebujes. |
||
Časová prodleva: 16 let
|
0