Skrypt Do Zliczania Pobrań - Modyfikacja


(asziatko) #1

Witam,

Jak zmodyfikować poniższy skrypt PHP

<?

$f = "1.txt";

$file = fopen($f, "a");

fputs($file, ".");

fclose($file);

header("location: 1.zip");

?>

żeby zamiast jednego pliku zliczał więcej niż jeden plik?. Najlepiej nie ograniczoną albo przynajmniej z 10 - 12 plików. Próbowałem w taki sposób

<? 

$f = "1.txt"; $file = fopen($f, "a"); fputs($file, "."); fclose($file); header("location: dokumenty/1.zip");

$f = "2.txt"; $file = fopen($f, "a"); fputs($file, "."); fclose($file); header("location: dokumenty/2.zip");

$f = "3.txt"; $file = fopen($f, "a"); fputs($file, "."); fclose($file); header("location: dokumenty/3.zip"); 

?>

ale bez rezultatów. Nadal jest tylko pobierany jeden plik o tej samej nazwie ze wszystkich 3 lokalizacji mimo że lokalizację są różne a pobierany jest tylko ten sam plik.


(Monczkin) #2

asziatko , parokrotnie zwracał uwagę na nazywanie. Następna taka forma i będzie ban na 3 miesiące. Mam już dość zwracania Tobie uwagi.


(adpawl) #3

Tak na szybko.

Zapisujesz np. jako download.php a wywołujesz przez: download.php?id=tunazwapliku

-można dodać jeszcze filtrowanie etc.

<?php

$id=$_GET['id'];

$f = $id.'.txt';

$file = fopen($f,'a');

fputs($file, '.');

fclose($file);

header("location: $id.zip");

?>

(asziatko) #4

adpawl zrobiłem według Twojego wzoru ale nic to nie dało. po wpisaniu np. download.php?id=dokumenty/1.zip wcale nie można pobrać pliku, pojawia się błąd 404 - pliku nie ma na serwerze.


(Krzkaczor) #5

Nie licz na gotowca... użyj chociażby funkcji echo i wypisz zmienna ze ścięzką czyli $f


(adpawl) #6
header("location: dokumenty/$id.zip");

Sprawdź czy w katalogu dokumenty/ masz plik, który chcesz pobrać.

Ścieżkę podajesz nie tak: download.php?id=dokumenty/1.zip tylko tak: download.php?id=1

-rozszerzenie zip dodawane jest tu automatycznie.

-wszystkie pliki które chcesz pobierać/zliczać, muszą być w katalogu dokumenty/


(Monczkin) #7

asziatko , prosiłem o coś. Otrzymujesz ostrzeżenie. Jeśli tego nie poprawisz otrzymasz drugie.