Strona 1 z 1

Zmienna z nazwą pliku przekazywana do file.php

: 16 maja 2013, 12:06
autor: rrouterr
Witam

Muszę zrobić weryfikację czy ściągany plik jest obrazem czy czymś innym (na potrzeby poboru opłaty za plik)

Jeśli pobierany plik jest obrazkiem (jpeg,gif,png,itp) opłata nie ma być pobierana
Potrzebuję do tego wrzucić do warunku nazwę lub rozszerzenie pliku, ale nie wiem w jakiej zmienne jest to przekazywane do file.php.


Pozdrawiam Michał

Re: Zmienna z nazwą pliku przekazywana do file.php

: 16 maja 2013, 19:51
autor: jaroslw
Metodą GET do skryptu podawane jest ID pliku. Na podstawie tego ID ustalane jest rozszerzenie (pobierane z bazy). Dwa fragmenty z download/file.php:

Kod: Zaznacz cały

$download_id = request_var('id', 0);

Kod: Zaznacz cały

$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id, filetime
	FROM ' . ATTACHMENTS_TABLE . "
	WHERE attach_id = $download_id";

Re: Zmienna z nazwą pliku przekazywana do file.php

: 19 maja 2013, 10:52
autor: rrouterr
Tak działa...

Kod: Zaznacz cały

		$sql = 'SELECT attach_id, is_orphan, in_message, post_msg_id, extension, physical_filename, real_filename, mimetype, filetime, extension
			FROM ' . ATTACHMENTS_TABLE . "
			WHERE attach_id = $download_id";
		$result = $db->sql_query_limit($sql, 1);
		$attachment = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		if (!$attachment)
		{
			send_status_line(404, 'Not Found');
			trigger_error('ERROR_NO_ATTACHMENT');
			
			
		}
		
		$attachment['extension'] = utf8_basename($attachment['extension']);
		if (
			($attachment['extension'] != 'jpg')&&
			($attachment['extension'] != 'png') &&
			($attachment['extension'] != 'gif') 
			)
		{