Nasıl bir dosya karşıdan sayısını sayan bir sayaç görüntüleyebilir? Bunu daha önce de görmüştüm. "450 kez indirildi". Teşekkürler.
Kullanıcı doğrudan bir dosyayı indirmek izin, ancak aşağıdaki gibi bir komut dosyası çukur etmeyin ...
<?php
$file = $_REQUEST['file'];
$dldir = "downloads/";
if (
(file_exists($dldir.$file) && // file exists
(strpos($file, "../") === false) && // prevent an attacker from switching to a parent directory
) {
header('Content-type: '.mime_content_type($dldir.file));
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($dldir.$file) ."; ");
header('Content-Disposition: attachment; filename="'.$file.'"');
echo file_get_contents($dldir.$file);
/** Update the counter here, e.g. by using mysql **/
} else {
die("File not found");
}
?>
Dosya istendiğinde Apache Eğer mod_rewrite güncelleştirme bir veritabanı olabilir. Bu (sendfile kullanılabilir) gönderme hız avantajı vardır, ve sizin URL'leri veya dizin yapısını değiştirmek gerekmez.
#!/usr/bin/perl
$| = 1;
$dbh = DBI->connect("dbi:mysql:database=; host=localhost; user=; password=")
or die "Connecting from PHP to MySQL database failed: $DBI::errstr";
while (<STDIN>) {
$dbh->query(... update database ...);
print $_;
}
http://httpd.apache.org/docs/2.2/mod/mod%5Frewrite.html#rewriteengine