Aby móc pobierać ze strony wieksze pliki należy zwiekszyć limit pamięci dla pliku za pomocą ini_set() w zmiennej memory_limit np na 2048M
<?php
ini_set("memory_limit", "512M");
if(!empty($_GET['plik'])){
$option=intval($_GET['plik']); // pobranie z adresu nr pliku
$filePath=dirname(__FILE__)."/pdf/";
//$filePath = "http://127.0.0.1/pobieranie/mp3/"; */
// adres katalogu z plikami
$fileName[1] = "Radioelektronik 1979 01.pdf"; // nazwa pliku nr 1 np. program.exe
$fileName[2] = "Radioelektronik 1979 02.pdf";
$fileName[3] = "Radioelektronik 1979 03.pdf";
$fileName[4] = "Radioelektronik 1979 04.pdf";
$fileName[5] = "Radioelektronik 1979 05.pdf";
$fileName[6] = "Radioelektronik 1979 06.pdf";
$fileName[7] = "Radioelektronik 1979 07 08.pdf";
$fileName[8] = "Radioelektronik 1979 09.pdf";
$fileName[9] = "Radioelektronik 1979 010.pdf";
$fileName[10] = "Radioelektronik 1979 011.pdf";
$fileName[11] = "Radioelektronik 1979 012.pdf";
$fileName[12] = "Radioelektronik 1980 01.pdf";
$fileName[13] = "Radioelektronik 1980 02.pdf";
$fileName[14] = "Radioelektronik 1980 03.pdf";
$fileName[15] = "Radioelektronik 1980 04.pdf";
$fileName[16] = "Radioelektronik 1980 05.pdf";
$fileName[17] = "Radioelektronik 1980 06.pdf";
$fileName[18] = "Radioelektronik 1980 07 08.pdf";
$fileName[19] = "Radioelektronik 1980 09.pdf";
$fileName[20] = "Radioelektronik 1980 010.pdf";
$fileName[21] = "Radioelektronik 1980 011.pdf";
$fileName[22] = "Radioelektronik 1980 012.pdf";
$fileName[23] = "Radioelektronik 1981 01.pdf";
$fileName[24] = "Radioelektronik 1981 02.pdf";
$fileName[25] = "Radioelektronik 1981 03.pdf";
$fileName[26] = "Radioelektronik 1981 04.pdf";
$fileName[27] = "Radioelektronik 1981 05.pdf";
$fileName[28] = "Radioelektronik 1981 06.pdf";
$fileName[29] = "Radioelektronik 1981 07 08.pdf";
$fileName[30] = "Radioelektronik 1981 09.pdf";
$fileName[31] = "Radioelektronik 1982 01.pdf";
$fileName[32] = "Radioelektronik 1982 02.pdf";
$fileName[33] = "Radioelektronik 1982 03.pdf";
$fileName[34] = "Radioelektronik 1982 04 05.pdf";
$fileName[35] = "Radioelektronik 1982 06.pdf";
$fileName[36] = "Radioelektronik 1982 07.pdf";
$fileName[37] = "Radioelektronik 1982 08.pdf";
$fileName[38] = "Radioelektronik 1982 09.pdf";
$fileName[39] = "Radioelektronik 1983 01.pdf";
$fileName[40] = "Radioelektronik 1983 02.pdf";
$fileName[41] = "Radioelektronik 1983 03.pdf";
$fileName[42] = "Radioelektronik 1983 04.pdf";
$fileName[43] = "Radioelektronik 1983 05.pdf";
$fileName[44] = "Radioelektronik 1983 06.pdf";
$fileName[45] = "Radioelektronik 1983 07 08.pdf";
$fileName[46] = "Radioelektronik 1983 09.pdf";
$fileName[47] = "Radioelektronik 1983 10.pdf";
$fileName[48] = "Radioelektronik 1983 11.pdf";
$fileName[49] = "Radioelektronik 1983 12.pdf";
$fileName[50] = "Radioelektronik 1984 01.pdf";
$fileName[51] = "Radioelektronik 1984 02.pdf";
$fileName[52] = "Radioelektronik 1984 03.pdf";
$fileName[53] = "Radioelektronik 1984 04.pdf";
$fileName[54] = "Radioelektronik 1984 05.pdf";
$fileName[55] = "Radioelektronik 1984 06.pdf";
$fileName[56] = "Radioelektronik 1984 07.pdf";
$fileName[57] = "Radioelektronik 1984 08.pdf";
$fileName[58] = "Radioelektronik 1984 09.pdf";
$fileName[59] = "Radioelektronik 1984 10.pdf";
$fileName[60] = "Radioelektronik 1984 11.pdf";
$fileName[61] = "Radioelektronik 1984 12.pdf";
$fileName[62] = "Radioelektronik 1985 01.pdf";
$fileName[63] = "Radioelektronik 1985 02.pdf";
$fileName[64] = "Radioelektronik 1985 03.pdf";
$fileName[65] = "Radioelektronik 1985 04.pdf";
$fileName[66] = "Radioelektronik 1985 05.pdf";
$fileName[67] = "Radioelektronik 1985 06.pdf";
$fileName[68] = "Radioelektronik 1985 07.pdf";
$fileName[69] = "Radioelektronik 1985 08.pdf";
$fileName[70] = "Radioelektronik 1985 09.pdf";
$fileName[71] = "Radioelektronik 1985 10.pdf";
$fileName[72] = "Radioelektronik 1985 11.pdf";
$fileName[73] = "Radioelektronik 1985 12.pdf";
$fileName[74] = "Radioelektronik 1986 01.pdf";
$fileName[75] = "Radioelektronik 1986 02.pdf";
$fileName[76] = "Radioelektronik 1986 03.pdf";
$fileName[77] = "Radioelektronik 1986 04.pdf";
$fileName[78] = "Radioelektronik 1986 05.pdf";
$fileName[79] = "Radioelektronik 1986 06.pdf";
$fileName[80] = "Radioelektronik 1986 07.pdf";
$fileName[81] = "Radioelektronik 1986 08.pdf";
$fileName[82] = "Radioelektronik 1986 09.pdf";
$fileName[83] = "Radioelektronik 1986 10.pdf";
$fileName[84] = "Radioelektronik 1986 11.pdf";
$fileName[85] = "Radioelektronik 1986 12.pdf";
$fileName[86] = "Radioelektronik 1987 01.pdf";
$fileName[87] = "Radioelektronik 1987 02.pdf";
$fileName[88] = "Radioelektronik 1987 03.pdf";
$fileName[89] = "Radioelektronik 1987 04.pdf";
$fileName[90] = "Radioelektronik 1987 05.pdf";
$fileName[91] = "Radioelektronik 1987 06.pdf";
$fileName[92] = "Radioelektronik 1987 07.pdf";
$fileName[93] = "Radioelektronik 1987 08.pdf";
$fileName[94] = "Radioelektronik 1987 09.pdf";
$fileName[95] = "Radioelektronik 1987 10.pdf";
$fileName[96] = "Radioelektronik 1987 11.pdf";
$fileName[97] = "Radioelektronik 1987 12.pdf";
$fileName[98] = "Radioelektronik 1988 01.pdf";
$fileName[99] = "Radioelektronik 1988 02.pdf";
$fileName[100] = "Radioelektronik 1988 03.pdf";
$fileName[101] = "Radioelektronik 1988 04.pdf";
$fileName[102] = "Radioelektronik 1988 05.pdf";
$fileName[103] = "Radioelektronik 1988 06.pdf";
$fileName[104] = "Radioelektronik 1988 07.pdf";
$fileName[105] = "Radioelektronik 1988 08.pdf";
$fileName[106] = "Radioelektronik 1988 09.pdf";
$fileName[107] = "Radioelektronik 1988 10.pdf";
$fileName[108] = "Radioelektronik 1988 11.pdf";
$fileName[109] = "Radioelektronik 1988 12.pdf";
$fileName[110] = "Radioelektronik 1989 01.pdf";
$fileName[111] = "Radioelektronik 1989 02.pdf";
$fileName[112] = "Radioelektronik 1989 03.pdf";
$fileName[113] = "Radioelektronik 1989 04.pdf";
$fileName[114] = "Radioelektronik 1989 05.pdf";
$fileName[115] = "Radioelektronik 1989 06.pdf";
$fileName[116] = "Radioelektronik 1989 07.pdf";
$fileName[117] = "Radioelektronik 1989 08.pdf";
$fileName[118] = "Radioelektronik 1989 09.pdf";
$fileName[119] = "Radioelektronik 1989 10.pdf";
$fileName[120] = "Radioelektronik 1989 11.pdf";
$fileName[121] = "Radioelektronik 1989 12.pdf";
$fileName[122] = "Radioelektronik 1990 01.pdf";
$fileName[123] = "Radioelektronik 1990 02.pdf";
$fileName[124] = "Radioelektronik 1990 03.pdf";
$fileName[125] = "Radioelektronik 1990 04.pdf";
$fileName[126] = "Radioelektronik 1990 05.pdf";
$fileName[127] = "Radioelektronik 1990 06.pdf";
$fileName[128] = "Radioelektronik 1990 07.pdf";
$fileName[129] = "Radioelektronik 1990 08.pdf";
$fileName[130] = "Radioelektronik 1990 09.pdf";
$fileName[131] = "Radioelektronik 1990 10.pdf";
$fileName[132] = "Radioelektronik 1990 11.pdf";
$fileName[133] = "Radioelektronik 1990 12.pdf";
$fileName[134] = "Radioelektronik 1991 01.pdf";
$fileName[135] = "Radioelektronik 1991 02.pdf";
$fileName[136] = "Radioelektronik 1991 03.pdf";
$fileName[137] = "Radioelektronik 1991 04.pdf";
$fileName[138] = "Radioelektronik 1991 05.pdf";
$fileName[139] = "Radioelektronik 1991 06.pdf";
$fileName[140] = "Radioelektronik 1991 07.pdf";
$fileName[141] = "Radioelektronik 1991 08.pdf";
$fileName[142] = "Radioelektronik 1991 09.pdf";
$fileName[143] = "Radioelektronik 1991 10.pdf";
$fileName[144] = "Radioelektronik 1991 11.pdf";
$fileName[145] = "Radioelektronik 1991 12.pdf";
$fileName[146] = "Radioelektronik 1992 01.pdf";
$fileName[147] = "Radioelektronik 1992 02.pdf";
$fileName[148] = "Radioelektronik 1992 03.pdf";
$fileName[149] = "Radioelektronik 1992 04.pdf";
$fileName[150] = "Radioelektronik 1992 05.pdf";
$fileName[151] = "Radioelektronik 1992 06.pdf";
$fileName[152] = "Radioelektronik 1992 07.pdf";
$fileName[153] = "Radioelektronik 1992 08.pdf";
$fileName[154] = "Radioelektronik 1992 09.pdf";
$fileName[155] = "Radioelektronik 1992 10.pdf";
$fileName[156] = "Radioelektronik 1992 11.pdf";
$fileName[157] = "Radioelektronik 1992 12.pdf";
$fileName[158] = "Radioelektronik 1993 01.pdf";
$fileName[159] = "Radioelektronik 1993 02.pdf";
$fileName[160] = "Radioelektronik 1993 03.pdf";
$fileName[161] = "Radioelektronik 1993 04.pdf";
$fileName[162] = "Radioelektronik 1993 05.pdf";
$fileName[163] = "Radioelektronik 1993 06.pdf";
$fileName[164] = "Radioelektronik 1993 07.pdf";
$fileName[165] = "Radioelektronik 1993 08.pdf";
$fileName[166] = "Radioelektronik 1993 09.pdf";
$fileName[167] = "Radioelektronik 1993 10.pdf";
$fileName[168] = "Radioelektronik 1993 11.pdf";
$fileName[169] = "Radioelektronik 1993 12.pdf";
$fileName[170] = "Radioelektronik 1994 01.pdf";
$fileName[171] = "Radioelektronik 1994 02.pdf";
$fileName[172] = "Radioelektronik 1994 03.pdf";
$fileName[173] = "Radioelektronik 1994 04.pdf";
$fileName[174] = "Radioelektronik 1994 05.pdf";
$fileName[175] = "Radioelektronik 1994 06.pdf";
$fileName[176] = "Radioelektronik 1994 07.pdf";
$fileName[177] = "Radioelektronik 1994 08.pdf";
$fileName[178] = "Radioelektronik 1994 09.pdf";
$fileName[179] = "Radioelektronik 1994 10.pdf";
$fileName[180] = "Radioelektronik 1994 11.pdf";
$fileName[181] = "Radioelektronik 1994 12.pdf";
$fileName[182] = "Radioelektronik 1995 01.pdf";
$fileName[183] = "Radioelektronik 1995 02.pdf";
$fileName[184] = "Radioelektronik 1995 03.pdf";
$fileName[185] = "Radioelektronik 1995 04.pdf";
$fileName[186] = "Radioelektronik 1995 05.pdf";
$fileName[187] = "Radioelektronik 1995 06.pdf";
$fileName[188] = "Radioelektronik 1995 07.pdf";
$fileName[189] = "Radioelektronik 1995 08.pdf";
$fileName[190] = "Radioelektronik 1995 09.pdf";
$fileName[191] = "Radioelektronik 1995 10.pdf";
$fileName[192] = "Radioelektronik 1995 11.pdf";
$fileName[193] = "Radioelektronik 1995 12.pdf";
$fileName[194] = "Radioelektronik 1996 01.pdf";
$fileName[195] = "Radioelektronik 1996 02.pdf";
$fileName[196] = "Radioelektronik 1996 03.pdf";
$fileName[197] = "Radioelektronik 1996 04.pdf";
$fileName[198] = "Radioelektronik 1996 05.pdf";
$fileName[199] = "Radioelektronik 1996 06.pdf";
$fileName[200] = "Radioelektronik 1996 07.pdf";
$fileName[201] = "Radioelektronik 1996 08.pdf";
$fileName[202] = "Radioelektronik 1996 09.pdf";
$fileName[203] = "Radioelektronik 1996 10.pdf";
$fileName[204] = "Radioelektronik 1996 11.pdf";
$fileName[205] = "Radioelektronik 1996 12.pdf";
$fileName[206] = "Radioelektronik 1997 11.pdf";
$fileName[207] = "Radioelektronik 1997 12.pdf";
$fileName[208] = "Radioelektronik 1998 01.pdf";
$fileName[209] = "Radioelektronik 1998 02.pdf";
$fileName[210] = "Radioelektronik 1998 04.pdf";
$fileName[211] = "Radioelektronik 1998 05.pdf";
$fileName[212] = "Radioelektronik 1998 06.pdf";
$fileName[213] = "Radioelektronik 1998 07.pdf";
$fileName[214] = "Radioelektronik 1998 08.pdf";
$fileName[215] = "Radioelektronik 1998 09.pdf";
$fileName[216] = "Radioelektronik 1998 10.pdf";
$fileName[217] = "Radioelektronik 1998 11.pdf";
$fileName[218] = "Radioelektronik 1998 12.pdf";
$fileName[219] = "Radioelektronik 1999 01.pdf";
$fileName[220] = "Radioelektronik 1999 02.pdf";
$fileName[221] = "Radioelektronik 1999 03.pdf";
$fileName[222] = "Radioelektronik 1999 04.pdf";
$fileName[223] = "Radioelektronik 1999 05.pdf";
$fileName[224] = "Radioelektronik 1999 06.pdf";
$fileName[225] = "Radioelektronik 1999 07.pdf";
$fileName[226] = "Radioelektronik 1999 08.pdf";
$fileName[227] = "Radioelektronik 1999 09.pdf";
$fileName[228] = "Radioelektronik 1999 10.pdf";
$fileName[229] = "Radioelektronik 1999 11.pdf";
$fileName[230] = "Radioelektronik 1999 12.pdf";
$fileName[231] = "Radioelektronik 01_2000.pdf";
$fileName[232] = "Radioelektronik 02_2000.pdf";
$fileName[233] = "Radioelektronik 03_2000.pdf";
$fileName[234] = "Radioelektronik 04_2000.pdf";
$fileName[235] = "Radioelektronik 05_2000.pdf";
$fileName[236] = "Radioelektronik 06_2000.pdf";
$fileName[237] = "Radioelektronik 07_2000.pdf";
$fileName[238] = "Radioelektronik 08_2000.pdf";
$fileName[239] = "Radioelektronik 09_2000.pdf";
$fileName[240] = "Radioelektronik 10_2000.pdf";
$fileName[241] = "Radioelektronik 11_2000.pdf";
$fileName[242] = "Radioelektronik 12_2000.pdf";
$fileName[243] = "Radioelektronik 01_2001.pdf";
$fileName[244] = "Radioelektronik 02_2001.pdf";
$fileName[245] = "Radioelektronik 03_2001.pdf";
$fileName[246] = "Radioelektronik 04_2001.pdf";
$fileName[247] = "Radioelektronik 05_2001.pdf";
$fileName[248] = "Radioelektronik 06_2001.pdf";
$fileName[249] = "Radioelektronik 07_2001.pdf";
$fileName[250] = "Radioelektronik 08_2001.pdf";
$fileName[251] = "Radioelektronik 09_2001.pdf";
$fileName[252] = "Radioelektronik 10_2001.pdf";
$fileName[253] = "Radioelektronik 11_2001.pdf";
$fileName[254] = "Radioelektronik 12_2001.pdf";
$fileName[255] = "Radioelektronik 01_2002.pdf";
$fileName[256] = "Radioelektronik 02_2002.pdf";
$fileName[257] = "Radioelektronik 03_2002.pdf";
$fileName[258] = "Radioelektronik 04_2002.pdf";
$fileName[259] = "Radioelektronik 05_2002.pdf";
$fileName[260] = "Radioelektronik 06_2002.pdf";
$fileName[261] = "Radioelektronik 07_2002.pdf";
$fileName[262] = "Radioelektronik 08_2002.pdf";
$fileName[263] = "Radioelektronik 09_2002.pdf";
$fileName[264] = "Radioelektronik 10_2002.pdf";
$fileName[265] = "Radioelektronik 11_2002.pdf";
$fileName[266] = "Radioelektronik 12_2002.pdf";
$fileName[267] = "Radioelektronik 01_2003.pdf";
$fileName[268] = "Radioelektronik 02_2003.pdf";
$fileName[269] = "Radioelektronik 03_2003.pdf";
$fileName[270] = "Radioelektronik 04_2003.pdf";
$fileName[271] = "Radioelektronik 05_2003.pdf";
$fileName[272] = "Radioelektronik 06_2003.pdf";
$fileName[273] = "Radioelektronik 07_2003.pdf";
$fileName[274] = "Radioelektronik 08_2003.pdf";
$fileName[275] = "Radioelektronik 09_2003.pdf";
$fileName[276] = "Radioelektronik 10_2003.pdf";
$fileName[277] = "Radioelektronik 11_2003.pdf";
$fileName[278] = "Radioelektronik 12_2003.pdf";
$fileName[279] = "Radioelektronik 01_2004.pdf";
$fileName[280] = "Radioelektronik 02_2004.pdf";
$fileName[281] = "Radioelektronik 03_2004.pdf";
$fileName[282] = "Radioelektronik 04_2004.pdf";
$fileName[283] = "Radioelektronik 05_2004.pdf";
$fileName[284] = "Radioelektronik 06_2004.pdf";
$fileName[285] = "Radioelektronik 07_2004.pdf";
$fileName[286] = "Radioelektronik 08_2004.pdf";
$fileName[287] = "Radioelektronik 09_2004.pdf";
$fileName[288] = "Radioelektronik 10_2004.pdf";
$fileName[289] = "Radioelektronik 11_2004.pdf";
$fileName[290] = "Radioelektronik 12_2004.pdf";
$fileName[291] = "Radioelektronik 01_2005.pdf";
$fileName[292] = "Radioelektronik 02_2005.pdf";
$fileName[293] = "Radioelektronik 03_2005.pdf";
$fileName[294] = "Radioelektronik 04_2005.pdf";
$fileName[295] = "Radioelektronik 05_2005.pdf";
$fileName[296] = "Radioelektronik 06_2005.pdf";
$fileName[297] = "Radioelektronik 07_2005.pdf";
$fileName[298] = "Radioelektronik 08_2005.pdf";
$fileName[299] = "Radioelektronik 09_2005.pdf";
$fileName[300] = "Radioelektronik 10_2005.pdf";
$fileName[301] = "Radioelektronik 11_2005.pdf";
$fileName[302] = "Radioelektronik 12_2005.pdf";
$fileName[303] = "Radioelektronik 01_2006.pdf";
$fileName[304] = "Radioelektronik 02_2006.pdf";
$fileName[305] = "Radioelektronik 03_2006.pdf";
$fileName[306] = "Radioelektronik 04_2006.pdf";
$fileName[307] = "Radioelektronik 05_2006.pdf";
$fileName[308] = "Radioelektronik 06_2006.pdf";
$fileName[309] = "Radioelektronik 07_2006.pdf";
$fileName[310] = "Radioelektronik 08_2006.pdf";
$fileName[311] = "Radioelektronik 09_2006.pdf";
$fileName[312] = "Radioelektronik 10_2006.pdf";
$fileName[313] = "Radioelektronik 11_2006.pdf";
$fileName[314] = "Radioelektronik 12_2006.pdf";
$fileName[315] = "Radioelektronik 01_2007.pdf";
$fileName[316] = "Radioelektronik 02_2007.pdf";
$fileName[317] = "Radioelektronik 03_2007.pdf";
$fileName[318] = "Radioelektronik 04_2007.pdf";
$fileName[319] = "Radioelektronik 05_2007.pdf";
$fileName[320] = "Radioelektronik 06_2007.pdf";
$fileName[321] = "Radioelektronik 07_2007.pdf";
$fileName[322] = "Radioelektronik 08_2007.pdf";
$fileName[323] = "Radioelektronik 09_2007.pdf";
$fileName[324] = "Radioelektronik 10_2007.pdf";
$fileName[325] = "Radioelektronik 11_2007.pdf";
$fileName[326] = "Radioelektronik 12_2007.pdf";
$fileName[327] = "Radioelektronik 01_2008.pdf";
$fileName[328] = "Radioelektronik 02_2008.pdf";
$fileName[329] = "Radioelektronik 03_2008.pdf";
$fileName[330] = "Radioelektronik 04_2008.pdf";
$fileName[331] = "Radioelektronik 05_2008.pdf";
$fileName[332] = "Radioelektronik 06_2008.pdf";
$fileName[333] = "Radioelektronik 07_2008.pdf";
$fileName[334] = "Radioelektronik 08_2008.pdf";
$fileName[335] = "Radioelektronik 09_2008.pdf";
$fileName[336] = "Radioelektronik 10_2008.pdf";
$fileName[337] = "Radioelektronik 01_2009.pdf";
$fileName[338] = "Radioelektronik 02_2009.pdf";
$fileName[339] = "Radioelektronik 03_2009.pdf";
$fileName[340] = "Radioelektronik 05_2009.pdf";
$fileName[341] = "Radioelektronik 06_2009.pdf";
$handle = fopen($filePath.$fileName[$option],"rb");
$size = filesize($filePath.$fileName[$option]);
$contents = fread($handle, $size);
fclose($handle);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachment; filename=$fileName[$option]");
echo $contents;
}
else{
echo "Nie wybrano pliku."; //dirname(__FILE__);
}
?>
Napisałem skrypt na oblicznie ceny brutto z formularzem pamięciowym do obsługi - działanie skryptu tutaj
<?php
if(isset($_GET['submit']))
{
if(isset($_GET['stawka']))
{
$stawka_podatku=$_GET['stawka'];
}
if(isset($_GET['cena']))
{
$cena=doubleval($_GET['cena']);
}
//$stawka_podatku="A";
switch ($stawka_podatku) {
case 'A':
$podatek_VAT = 0.23;
break;
case 'B':
$podatek_VAT = 0.08;
break;
case 'C':
$podatek_VAT = 0.05;
break;
default:
$podatek_VAT = 0.23;
break;
}
//$podatek_VAT = 0.23;
function cena_netto($cena_netto){
return $cena_netto;
}
class Cena {
var $cena;
function __construct($my_const_input)
{
$this->cena=$my_const_input;
}
function cena_brutto($cena_netto)
{
global $podatek_VAT;
return ($podatek_VAT*$cena_netto+cena_netto($this->cena));
}
}
//$cena_produktu= new Cena(4);
//print("Cena brutto to: ".$cena_produktu->cena_brutto(4));
$cena_produktu= new Cena($cena);
print("Cena brutto to: ".$cena_produktu->cena_brutto($cena));
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<input type="text" name="cena" value="<?php if(isset($_GET['cena']))
{
$cena=doubleval($_GET['cena']);
echo $cena;
} ?>"/>
<select name="stawka">
<option value="A" <?php if($stawka_podatku=='A') { echo 'selected="selected"'; } ?>>A</option>
<option value="B" <?php if($stawka_podatku=='B') { echo 'selected="selected"'; } ?>>B</option>
<option value="C" <?php if($stawka_podatku=='C') { echo 'selected="selected"'; } ?>>C</option>
</select><br>
<input name="submit" type="submit" value="Oblicz">
</form>
Sztuką pisania skryptów PHP jest przeczytać jakiś temat w książce
i podjąć próbę przepisania, potem poprawienia skryptu według własnego pomysłu uznania,
i przetestowania i poprawienia błędów,
jeśłi nie będziecie programiści próbować na komputerze to się nie nauczycie myśleć
ja i tak nie pamiętam żadnych skryptów tylko uczę się z tego co napisałem, aby wymyśleć coś nowszego lub czytam rozdział książki o PHP i MySQL
z danego tematu i próbuję po napisaniu działanie skryptu PHP na komputerze
O to ulepszona lista plików do pobrania w PHP
O to plik linki_Electronica_Heft.php
<p align="center">Linki PDF-ów z zeszytami na rózne tematy z Radioelektroniki i Elektroniki z byłej NRD po niemiecku - około 250 numerów
<p align="left">
<?php
//linki
$filePath=dirname(__FILE__)."/pdf/";
$kat=$filePath;
$tablicaplikow=scandir($kat);
for($i=0; $i<count($tablicaplikow); $i++)
{
if($tablicaplikow[$i]!= "." && $tablicaplikow[$i]!= "..")
{
$j=$i-1;
$fileName[$j]=$tablicaplikow[$i];
echo "<li><a href=\"pobierz_pdf_Electronica_Heft.php?plik=$j\"</li>$fileName[$j]</a>";
}
}
?>
O to plik pobierz_pdf_Electronica_Heft.php
<?php if(!empty($_GET['plik'])){
$option=intval($_GET['plik']); // pobranie z adresu nr pliku
$filePath=dirname(__FILE__)."/pdf/";
$kat=$filePath;
$tablicaplikow=scandir($kat);
for($i=0; $i<count($tablicaplikow); $i++)
{
if($tablicaplikow[$i]!= "." && $tablicaplikow[$i]!= "..")
{
$j=$i-1;
$fileName[$j]=$tablicaplikow[$i];
// echo "<li> $fileName[$j] </li>";
}
}
/* $i=0;
echo "<p>";
echo $option;
echo "<p>";
echo '<p><li>'.$fileName[$option].' </li>';
*/
//$filePath = "http://127.0.0.1/pobieranie/mp3/"; */
// adres katalogu z plikami
// $fileName[1] = ""; // nazwa pliku nr 1 np. program.exe
$handle = fopen($filePath.$fileName[$option],"rb");
$size = filesize($filePath.$fileName[$option]);
$contents = fread($handle, $size);
fclose($handle);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachment; filename=$fileName[$option]");
echo $contents;
}
else{
echo "Nie wybrano pliku."; //dirname(__FILE__);
}
?>
O to bardziej zautomatyzowana lista plików i kod do pobierania z linków-
foldery z plikami pdf muszą być przedstawione liczbowo w formie danego roku
O to plik linki_Amaterske_Radio.php
<p align="center">Linki PDF-ów z czasopismami Amaterske Radio z lat 1952-2012
<p align="center">Posiadam to czasopismo do 2016 łącznie w PDF-ach, ale pliki mają za duże rozmiary, aby je udostepnić na stronie
<p align="center">
<?php
//linki
for($k=1952; $k<2013; $k++)
{
$rok_pdf=$k;
$filePath=dirname(__FILE__)."/$rok_pdf/";
$kat=$filePath;
$tablicaplikow=scandir($kat);
echo "<p align=\"center\"><b>$rok_pdf</b></p><p align=\"center\">";
for($i=0; $i<count($tablicaplikow); $i++)
{
if($tablicaplikow[$i]!= "." && $tablicaplikow[$i]!= "..")
{
$j=$i-1;
$fileName[$j]=$tablicaplikow[$i];
echo "<li align=\"center\"><a href=\"pobierz_pdf_Amaterske_Radio.php?rok=$rok_pdf&plik=$j\">$fileName[$j]</a></li>";
}
}
}
?>
</p><p></p>
O to plik pobierz_pdf_Amaterske_Radio.php
<?php if(!empty($_GET['plik'])&&(!empty($_GET['rok']))){
$option=intval($_GET['plik']); // pobranie z adresu nr pliku
$rok=intval($_GET['rok']);
$rok_pdf=$rok;
$filePath=dirname(__FILE__)."/$rok_pdf/";
// $filePath=dirname(__FILE__)."/pdf/";
$kat=$filePath;
$tablicaplikow=scandir($kat);
for($i=0; $i<count($tablicaplikow); $i++)
{
if($tablicaplikow[$i]!= "." && $tablicaplikow[$i]!= "..")
{
$j=$i-1;
$fileName[$j]=$tablicaplikow[$i];
// echo "<li> $fileName[$j] </li>";
}
}
/* $i=0;
echo "<p>";
echo $option;
echo "<p>";
echo '<p><li>'.$fileName[$option].' </li>';
*/
//$filePath = "http://127.0.0.1/pobieranie/mp3/"; */
// adres katalogu z plikami
// $fileName[1] = ""; // nazwa pliku nr 1 np. program.exe
$handle = fopen($filePath.$fileName[$option],"rb");
$size = filesize($filePath.$fileName[$option]);
$contents = fread($handle, $size);
fclose($handle);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachment; filename=$fileName[$option]");
echo $contents;
}
else{
echo "Nie wybrano pliku."; //dirname(__FILE__);
}
?>
Dlaczego pobieranie pliku nie działa, odpowiedż: sprawdź czy czasem nazwa pliku nie zawiera przecinka lub dodatkowej kropki czy spacji lub średnika, systemy unix i linux nie toleruja znaków interpunkcyjnych :) w nazwie pliku
Poprawiłem strony z wyśrodkowaniem tekstów w CSS przy muzyce Country, jeszcze często popełniam,
błędy, ale przez czytanie książek i ciągłe ćwiczenie nabieram wprawy w html i css,
braki wynikają stąd, że przez dłuższy czas zajmowałem się językiem php i nauką SQL dla bazy MySQL, bo
przez tworzenie prostych stron, a nie korzystanie z gotowców jak worpress i joomla, można dużo się nauczyć,
instalować forum także potrafię, ale wolę napisać własne forum z mechanizmami jak ono działa w skrypcie php
niż korzystać z gotowców, na początek polecam instalowanie i obsługę forum punbb, a dopiero póżniej rozbudowane phpbb
W forum phpbb chyba znajduje się tajne forum dla określonych grup, ale i tak tekst można podglądnąć w bazie MySQL, ponieważ nie jest szyfrowane..., gdyby było, a nie znany byłby sposób lub klucz do jego odszyfrowania, to mogłoby być wykorzystane bezprawnie, ale po adresach ip i tak można wskazać osoby w nim biorące udział w rozmowie wirtualnej.
Moje ulubione gry platformowe dotyczą sztuk walki to "ninja" i "international karate championship"
na komputer Atari 65 XE lub konsolę AtariWin na komputer osobisty - można pobrać ze stron o atari i uruchomić
by pokazać dzieciom w co się dawniej grało na komputerze PC mając tą konsolę i dodatki (romy) aby uruchomić grę.
oraz DOS-owa gra Sango Fighter - dwójka jest po chińsku obie przedstawiają techniki kung fu i wu shu
mortal combat przy tych grach to kicha, Sango Fighter jest w pełnej wersji dostępny w ed2k (1,46MB)
Pamiętam zajęcia z informatyki - jak moi koledzy mający już sieć rozgrywali pojedynki Quake
ja spróbowałem wtedy, kiedy kupiłem grę Vietcong za pół ceny przeszedłem całą,
ze zainstalowanym dodatkiem
instalowałem także dodatkowe rozszerzenia - plansze mapy, na których nikt nie chciał grać
bo takowych, nie instalowali inni użytkownicy, a ja nie mając stałego łącza nawiązałem kontakt
z grupą która korzystała z komunikatora TEAM SPEAK-a po podłączeniu się do tzw pokoju
słyszałem rozmówców obsługujących wspólną grę, jak człowiek nie spróbuje to się nie nauczy.
Widziałem, że wiekszość osób na allegro sprzedawało taktyczno strategiczną grę westernową
HELLDORADO za grosze, bo być może miały problemy
z zainstalowaniem ogrinalnej gry z DVD, nie działa tam aplikacja PsychX, mam odpowiednią wersję
należy podczas instalowania gry w pewnym momencie zainstalować wersję 8.0 i zignorować tą wersję z DVD
a gra na sprzęcie Athlon XP 3200, grafika 512mb Geforce 6800 zadziała.
Gra się miała nazywać jak zaproponowałem na forum.spellbound.de COOPER IN COLORADO
ale ktoś z zespołu zadrwił sobie i nazwał HELLDORADO, kilka moich pomysłów zastosowano w tej grze
taktycznej zespołowej, trójwymiarowej z przenoszeniem do planszy izometrycznej.
Do gier specjalnie zmontowałem komputer na windows 2000, bo jest najmniej pamięciożerny
ale stoi bezużyteczny bo nie gram już od ponad 10 lat. Mam pełną szuflade orginalnych
gier ciekawych większość 3D,
ale nie sprzedam, ich bo musiałbyś mieć czytelniku stary komputer :)
A teraz do rzeczy w Polsce została wydana dobra książka do E-commerce posiadające logo Helion i APRESS
bazuje na już zdeprecjonowanym module PEAR DB, w drugim wydaniu angielskim zauważyłem,
że autorzy przestawili się na obsługę bazy przez rozszerzenie php PDO
można jeszcze z sieci www pobrać odpowiednią wersję do starszego PHP modułu DB
i zainstalować moduł ręcznie na localhoscie,
ale będzie ciezko chyba znaleźć dostawcę ze starszą wersją PHP
- na hostingu hekko można jeszcze ustawić php 5.2 jako najstarszą obsługiwaną wersję dla własnej strony
podobnie ma się rzecz z książką z dziobakiem autora z Australii,
ale nie znalazłem na razie wznowienia książki - za rok być może okazać się, że ukaże się ósma wersja php :)
nie chodzi o to, żeby być na bieżąco, ale żeby coś dobrze się nauczyć
4 ksiązki do php 7 z packt publisching znalazłem w ed2k, jeszcze nie ma polskich tych autorów
przedstawiam nie ukończony do końca projekt wyszukiwarki tekstów -
projekt jest zapisanych w oddzielnych tabelach
i podałem sposób połączenia ich w zapytaniu,
które się zmienia od postawionych warunków.
przyklad wyszukiwarki stworzonej na bazie odzielnych tabel
przykłady skryptów php tej wyszukiwarki w pobieralni.
Projekt działa ale nie jest estetycznie wykończony,
można ten projekt bardziej rozwinąć -
podaję go jako przykład bo eksperymentowałem nad nim.
w przykładzie tej wyszukiwarki celowo podałem złaczenia INNER JOIN
dla silnika MYISAM byc może dla silnika InnoDB, gdzie wymaga się zdefiniowanie
relacji kluczy głownych i obcych nie trzeba tak rozbudowywać zapytania
jak przebrnę przez nowszą literaturę to podam przykład
Odnośnie nowoczesnego javascriptu polecam pobrać plik js z archiwum html5shiv-master
html5shiv-master - będzie on potrzebny do ksiązki
Larrego Ulmana pt "Nowoczesny język Javascript"
dla starszych przeglądarek, aby skrypty w nich działały.
Nie wiem czemu jeszcze ale już jest to chyba ksiązka przestarzała dla nowszych przeglądarek,
odkąd weszło ECMAScript 6, a ksiażka obejmuje piątkę w którejs tam wersji...
Zauważyłem, że odnośnik do mojej strony na rosyjskim forum
anticzat zawiera zapytanie po UNION kod SQL z którego można odczytać dane
odnośnie bazy danych
- rozwiązanie jakie mi podsuneło to zabezpieczenie zmiennej id
i sprawdzenie w skrypcie czy ma wartość numeryczną - funkcja is_numeric() oto zadba,
zanim przypisze się, dane z adresu do zmiennej.ot kod model.php dla instrukcji shimano po drobnej poprawce:
<?php
include('mysql_connect.php');
if((isset($_GET['id']))&&(is_numeric($_GET['id'])))
{
$id_czesci = $_GET['id'];
} else { echo "<h2><font color=\"blue\">It hasn't easy for injection SQL!!!</font></h2>";; }
echo '<body background="PIASEK2.jpg">';
echo '<table bgcolor="orange" width="100%" align="center"><tr><td><center>
<a href="_shimano.php"><img border=0 src="SHIMANO.gif"></a></center></td></tr>';
echo '<tr><td><table align="center"><tr><td>';
$zapytanie = "SELECT rok, nazwa_ANG, model, grupa, jpg1, jpg2, gif1, gif2, jp_gif
FROM czesci_mtb WHERE id_czesci=".$id_czesci; //kod wrazliwy na SQL INJECTION
//echo $zapytanie."<br>";
// echo '<td width="140">';
if($wynik = mysql_query($zapytanie, $dbc)){
$liczba_wynikow = mysql_num_rows($wynik);
if($liczba_wynikow>0)
{
while ($wiersz = mysql_fetch_array($wynik)) {
$rok = $wiersz['rok'];
$nazwa_ang = $wiersz['nazwa_ANG'];
$model = $wiersz['model'];
$grupa = $wiersz['grupa'];
$jpg1 = $wiersz['jpg1'];
$jpg2 = $wiersz['jpg2'];
$gif1 = $wiersz['gif1'];
$gif2 = $wiersz['gif2'];
$jp_gif = $wiersz['jp_gif'];
echo '<b>';
echo $rok;
echo '<br>';
echo $model;
echo '<br>';
echo $grupa;
echo '<br>';
echo '</b>';
if(($jpg1!=='')&&($jpg1!=='brak'))
{
echo '<a href="jpg/'.$jpg1.'">JPG1</a>';
echo '<br>';
}
if(($jpg2!=='')&&($jpg2!=='brak'))
{
echo '<a href="jpg/'.$jpg2.'">JPG2</a>';
echo '<br>';
}
if(($gif1!=='')&&($gif1!=='brak'))
{
echo '<a href="TM/'.$gif1.'">GIF1</a>';
echo '<br>';
}
if(($gif2!=='')&&($gif2!=='brak'))
{
echo '<a href="TM/'.$gif2.'">GIF2</a>';
echo '<br>';
}
if(($jp_gif!=='')&&($jp_gif!=='brak'))
{
echo '<a href="jp_gif/'.$jp_gif.'">JP_GIF</a>';
echo '<br>';
}
echo '</td></tr></table><br><table><tr><td>';
if((($jpg1!=='')&&($jpg1!=='brak'))||(($gif1!=='')&&($gif1!=='brak')))
{
if(($jpg1!=='')&&($jpg1!=='brak'))
{
echo '<br>przyklad<BR>';
echo '<img src="jpg/'.$jpg1.'">';
}
elseif(($gif1!=='')&&($gif1!=='brak'))
{
echo '<br>przyklad<BR>';
echo '<img src="TM/'.$gif1.'">';
} else { echo 'brak instrukcji w JPG'; }
} else { echo 'brak europejskich instrukcji w JPG i GIF'; }
}
} else { echo ' '; }
}
echo '</td></tr></table></body>';
?>
Wystarczy przeczytać pewną ksiażkę, dlatego:Polecam ksiązkę nieżyjącego Marcina Lisa - pt. "Tworzenie bezpiecznych aplikacji internetowych"
UWAGA kody wyszukiwarek, które udostępniłem, nie mają zabezpieczeń antyhackerskich- trzeba najpierw, przeczytać ksiązkę Marcina Lisa, którą podałem wyżej
Przykład logiki stosowanej w wyszukiwarkach na stronę:
<?php
wpisz w polu tekstowym np. pies -kot kliknij szukaj,a otrzymasz fragment zapytania sql z NOT LIKE.
echo "wpisz w polu tekstowym np. pies -kot </br>";
echo "kliknij szukaj,a otrzymasz fragment zapytania sql.";
if(isset($_GET['szukaj']))
{
if(isset($_GET['fraza']))
{
$fraza=$_GET['fraza'];
$array=explode(" ", $fraza);
echo $count=count($array);
$takzewopisach='wopisach';
echo "<p>".$_GET['fraza']."</p>";
$x=0; $warunek1 = " "; $por = " ";
// echo 'wariant pierwszy<BR>';
while ($count > $x) {
if($x>0) {
//$warunek1 =" ";
$por = ' AND '; //OR
}
if(($takzewopisach)=='wopisach') {
//echo strpos($array[$x], "-");
if(strpos($array[$x], "-")!==0)
{
echo $array[$x]=str_replace("+", "",$array[$x]);
$warunek1 = $warunek1.$por.'( tytuly.tytul_PL LIKE \'%'.$array[$x].'%\'
OR tytuly.tytul_oryginalny LIKE \'%'.$array[$x].'%\'
OR opis LIKE \'%'.$array[$x].'%\')';
}
else
{
echo $array[$x]=str_replace("-", "",$array[$x]);
$warunek1.=$warunek.$por.'( tytuly.tytul_PL NOT LIKE \'%'.$array[$x].'%\'
OR tytuly.tytul_oryginalny NOT LIKE \'%'.$array[$x].'%\'
OR opis NOT LIKE \'%'.$array[$x].'%\')';
}
}
$x++;
}
echo "<p><b>";
echo $warunek1;
echo "</b></p>";
?>
<form action="<? echo $_SERVER['PHP_SELF'];?>" method="get">
<input type="text" name="fraza" value="<?php echo $_GET['fraza'];?>">
<input type="submit" name="szukaj" value="szukaj">
</form>
<?
} }
else
{
?>
<form action="<? echo $_SERVER['PHP_SELF'];?>" method="get">
<input type="text" name="fraza" value="<?php echo $_GET['fraza'];?>">
<input type="submit" name="szukaj" value="szukaj">
</form>
<?php
}
?>
Z pobieralnii pobierz szukarka_przyklady.rar,
aby zobaczyć jak tworzy się proste szukarki na stronę, np. ze stronicowaniem
W pliku szkola_bear_Andrzej Szczepan.rar -przyklad szukarki w praktyce
Zamiast korzystać z wyszukiwania pełnotekstowego ze słowem MATCH
można stworzyć własną logikę w jak powyższym przykładzie, gdy mamy mało danych w bazie
<?php
include('mysql_connect.php');
echo "<br>Napisz poufną wiadomość...Nie zapomnij podać adresu e-mail";
echo "<br>Jeśli chcesz mnie spotkać - ustalmy hasło i odzew";
echo "<br>W Ameryce tak ludzie się poznają z uwagi na podobieństwo osób";
echo "<br>Np. hasło: Niebieski gołąb, leci do białego...";
echo "<br>Odzew czyli odpowiedź: Po prostu znam się na gołębiach!";
echo "<br>Można także stosować znak wodny na własnym zdjęciu";
echo "<br>z własnym adresem strony internetowej!";
echo"<br>z adresem do własnej opłacanej strony internetowej";
echo '<form action="poufna_wiadomosc.php" method="post">';
echo '<textarea name="wiadomosc" cols="80" rows="10"></textarea>';
echo '<br><input type="submit" value="Wyślij wiadomosc">';
echo '</form>';
if(isset($_POST['wiadomosc'])) {
$wiadomosc=$_POST['wiadomosc'];
$klucz = 'haslo'; //ustanów swoje
srand();
$modul = mcrypt_module_open(MCRYPT_RIJNDAEL_256,'', 'cbc','');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($modul), MCRYPT_RAND);
mcrypt_generic_init($modul, $klucz, $iv);
$encrypted = mcrypt_generic($modul, $wiadomosc);
$poufna_wiadomosc = base64_encode($encrypted);
echo "<b>To jest tekst tajny wiadomości:";
echo "<p> $encrypted </p>";
mcrypt_generic_deinit($modul);
mcrypt_generic_init($modul, $klucz, $iv);
$decrypted = mdecrypt_generic($modul, base64_decode($poufna_wiadomosc));
echo "<p><b>Tekst jawny po odszyfrowaniu: </b></p>";
echo "$decrypted";
mcrypt_generic_deinit($modul);
mcrypt_module_close($modul);
$wstawka="INSERT INTO poufne_wiadomosci(id, wiadomosc, iv, data_dodania) VALUES(0, '$poufna_wiadomosc', '$iv', NOW());";
$wynik=mysql_query($wstawka);
} else { "wiadomosc nie została przesłana... spróbuj jeszcze raz";}
?>
plik odszyfrujący:
<?php
include('mysql_connect.php');
echo "<table><tr>";
$zapytanie = 'SELECT * FROM poufne_wiadomosci ORDER BY data_dodania DESC;';
$wynik=mysql_query($zapytanie);
if($wynik<>0)
{
//srand();
//$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($modul), MCRYPT_RAND);
while($wiersz=mysql_fetch_array($wynik, MYSQL_ASSOC))
{
$klucz = 'haslo'; //ustanów swoje.
//echo '<p><font color="red">'.$wiersz['iv'].'</font></p>';
$modul = @mcrypt_module_open(MCRYPT_RIJNDAEL_256,'', 'cbc','');
@mcrypt_generic_deinit($modul);
@mcrypt_generic_init($modul, $klucz, $wiersz['iv']);
$poufna_wiadomosc=$wiersz['wiadomosc'];
$decrypted = @mdecrypt_generic($modul, base64_decode($poufna_wiadomosc));
@mcrypt_generic_deinit($modul);
@mcrypt_module_close($modul);
echo "<tr><td>".$wiersz['id']."</td><td>".$decrypted."</td><td>".$wiersz['data_dodania']."</td></tr>";
}
}
echo "</tr></table>";
?>
oto kod SQL:
-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Czas wygenerowania: 30 Gru 2018, 03:55
-- Wersja serwera: 5.0.45
-- Wersja PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Baza danych: `poufna_wiadomosc`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla `poufne_wiadomosci`
--
CREATE TABLE `poufne_wiadomosci` (
`id` int(11) NOT NULL auto_increment,
`wiadomosc` text NOT NULL,
`iv` text NOT NULL,
`data_dodania` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;
--
-- Zrzut danych tabeli `poufne_wiadomosci`
--
Oto kod skryptu do pobierania plików w php:
<?php if(!empty($_GET['plik'])){
Pierwsza linijka sprawdza czy, dla zmiennej plik w adresie strony cokolwiek podano,
$option = intval($_GET['plik']); // pobranie z adresu nr pliku
$filePath=dirname(__FILE__)."/pdf/";
/* $filePath = "http://127.0.0.1/pobieranie/mp3/"; */
// adres katalogu z plikami
$fileName[1] = "WIKTOR CHOJNACKI - Układy nadawcze i odbiorcze dla krótkofalowców.pdf"; // nazwa pliku nr 1 np. program.exe
$fileName[2] = "Systemy cyfrowego odbioru satelitarnego.pdf";
$fileName[3] = "CD i DVD w teorii i praktyce - Mirosław Sokół.pdf";
$fileName[4] = "710_28_a.pdf";
$fileName[5] = "710_30_b.pdf";
$fileName[6] = "711_05_2.pdf";
$fileName[7] = "Car_IV_1.pdf";
//$fileName[8] = ".pdf";
$handle = fopen($filePath.$fileName[$option],"rb");
$size = filesize($filePath.$fileName[$option]);
$contents = fread($handle, $size);
fclose($handle);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachment; filename=$fileName[$option]");
echo $contents;
}
else{
echo "Nie wybrano pliku."; //dirname(__FILE__);
}
?>
w drugiej linijce przypisana jest wartość zmiennej po przekształceniu przez funkcję typu liczbowego int,
jeśli podano tekst zostanie zwrócona negatywna wartość przez funkcję inval();
do zmiennej $filepath przypisuję scieżkę do folderu /pdf znajdującego się tam, gdzie skrypt nasz php
jeśli pliki mamy tam gdzie skrypt to zamiast pisać /pdf/
to wystarczy napisać jeden ukośnik $filePath=dirname(__FILE__)."/";
można podać adres tak jak w zakomentowanym tekscie ale z uwagi na przenoszenie z windowsa na linux
i z hostu lokalnego localhost (o adresie 127.0.0.1) warto stosować stałą __FILE__
tworzymy tablicę z plikami pdf ale numerująć ją nie od zera, a od jedynki zero niech oznacza fałsz
jesłi ktoś podałby coś w rodzaju ../../../passwords.php lub ../../mysql_connect.php
aby dostać się do haseł witryny, zapobiegniemy temu wymuszając, stosowanie liczb, a nie ciągów znakowych,
tak dla bezpieczeńśtwa naszej witryny
po tablicy pora na zmienną $handle czyli uchwyt do pliku, i funkcję otwierająca plik w trybie do odczytu
r i binarnym czyli rb podając wcześniej scieżkę i nazwę pliku w formie zmiennej tablicowej z numerem $options
określamy rozmiar pliku do zmiennej $size
odczytujemy plik przypisując go do pamięci czyli zmiennej $conntents dzięki funkcji fread z argumentami
uchwyt i rozmiar ($handle i $size)
możemy zwolnić już uchwyt z pamięci dzięki funkcji zamykającej fclose() z argumentem $handle
teraz postaraj się zauważyć, czy nie zrobiłeś jakiejś spacji przed znakami
jeśli przekażemy coś
do przeglądarki w postaci html-a lub zwykłego tekstu lub wywołamy wczęsniej funkcję echo()
Teraz dopiero podajemy definicję nagłówków w postaci trzech linijek które zostaną wysłane do przeglądarki
informujące przeglądarkę, że chcemy pobrać plik, zanim zacznie się pobieranie pliku
Podajemy tam rozmiar w postaci zmiennych i plik który na interesuje w postaci zmiennej tablicowej $fileName
z numerem czyli opcją ($option)
dopiero teraz wywołujemy funkcję echo która przesyła plik do przeglądarkie z pamięci czyli zmiennej $conntents
konczymy pierwszy warunek i podajemy napis na ekran jeśli warunek nie zostanie spełniony dotyczący
numeru dla zmiennej
plik np. pobierz_pdf.php?plik=1
Skrypt PHP i opis opracował: Andrzej Szczepan Strona autora skryptu
Małe jako łącze i duże zdjęcie w nowym oknie oto dwa skrypty php i javascript:
<?php
$option="default_charset";
ini_set($option, "ISO-8859-2");
// scieżki do oryginału i miniatury
$duze = "foto/580236_8ZICQVWBMDGX3Q4T2H7MKH13R7UT6F_linvincibileninjakamui_H190530_L.jpg";
$male = "foto/sm_580236_8ZICQVWBMDGX3Q4T2H7MKH13R7UT6F_linvincibileninjakamui_H190530_L.jpg";
// pobieram rozmiar oryginału
$roz = getimagesize($duze);
// wy?wietlam miniaturę ze zdarzeniem onclick
// którym wywołuję okno z oryginalnym zdjęciem
echo "<img src=\"$male\" alt=\"Powiększ zdjęcie\" title=\"Powiększ zdjęcie\" style=\"cursor: pointer;\" onclick=\"window.open('podglad.php?z=$duze','podglad',
'width=$roz[0],height=$roz[1],left=750,top=0')\" />";
?>
W kodzie jawascript umieszczam linijkę z plikiem podglad.php i przypisaną w tym adresie zmienną z
do której poprzez = przypisuję nazwę dużego pliku przy pomocy zmiennej $duze bez średnika na koncu.
rozmiary zdjecia dla otwarcia okna o odpowiednich wymiarach uzyskuję z funkcji php getimagesize($duze);
funkcja zwraca tablicę dwumiarową dla wymiarów x i y;
nie pamiętam ale trzeba chyba mieć odkomentowaną bibliotegę graficzną gd2 w pliku konfiguracyjnym php.ini
na stronie webowej administrator włączył taką biblioteke więc działa wszystko.
A oto drugi skrypt wyskakujacego okienka o nazwie podglad.php:
<?php
$option="default_charset";
ini_set($option, "ISO-8859-2");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/
xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Podgląd</title>
</head>
<body marginheight="0" marginwidth="0" style="margin: 0;">
<?php
// pobieram dane oryginału
$z = $_GET['z'];
if($z) {
// wyświetlam oryginał
echo "<a href=\"javascript:window.close();\"><img
src=\"$z\" border=\"0\" title=\"Zamknij okno\" /></a>";
}
?>
</body>
</html>
A oto działanie skryptów obrazek Hittori Kamui bohatera serialu i komiksowej serii Ninja Kamui:
należy tylko zmienić wartości zmiennych left i top dla własnej strony w głównym skrypcie nie php, a javascript
w funkcji open().
w tym przykładzie left=450 a nie 750, a top=0
Skrypt PHP i opis opracował: Andrzej Szczepan Strona autora skryptu
<?php
// Konfiguracja obsługi błędów.
ini_set ('display_errors', 1);
error_reporting (E_ALL & ~E_NOTICE);
error_reporting(E_ALL ^ E_WARNING);
//session_start(); ?> <!-- Musi znajdować się na samym początku pliku! -->
<?php
require_once ('bd.php'); //Wczytywanie pliku polaczenie.php
mysqli_query($db, "SET NAMES 'utf-8'"); //Kodowanie bazy danych
$date = date('Y-m-d'); //Data Rok-Miesiąc-Dzień
$time = date('H:i:s'); //Czas Godzina:Minuta:Sekunda
$ip = $_SERVER['REMOTE_ADDR']; //Pobiera IP odwiedzającego
$link = mysqli_query($db, "SELECT ip FROM online WHERE ip='$ip' and data='$date'"); //Zapytanie.
$ile = mysqli_num_rows($link); //Pobiera ilość wyników
if ($ile == 0) { //Jeżeli ilość wyników = 0
$asd = mysqli_query($db, "INSERT INTO online SET ip='$ip', data='$date', godzina='" . date('H') . "', minuta='" . date('i') . "'"); //Dodaje do tabeli dane
if (!$asd) { //Jeżeli nie udało się dodać naszych danych
echo('Błąd bazy danych. 00<br />'); //Pojawia się komunikat o błędzie
}
} else { //Jeżeli ilość wyników <> 0
$asd = mysqli_query($db, "UPDATE online SET data='$date', godzina='" . date('H') . "', minuta='" . date('i') . "' WHERE ip='$ip' and data='$date'"); //Odświeża dane użytkownika w tabeli
if (!$asd) { //Jeżeli nie udało się odświerzyć naszych danych
echo('Blad bazy danych. 11<br />'); //Pojawia się komunikat o błędzie
}
}
$wczoraj = (int) date('d'); //Pobiera dzień
$wczoraj = $wczoraj - 1; //odejmuje 1 dzień
$miesiac = (int) date('m'); //Pobiera miesiąc
if ($wczoraj == 0) { //Jeżeli wczoraj = 0
if (date('m') == 4 || date('m') == 6 || date('m') == 8 || date('m') == 9 || date('m') == 11) {
$wczoraj = "31";
$miesiac -= "1";
}
if (date('m') == 3) {
$wczoraj = "28";
$miesiac -= "1";
}
if (date('m') == 5 || date('m') == 7 || date('m') == 10 || date('m') == 12) {
$wczoraj = "30";
$miesiac -= "1";
}
if (date('m') == 2) {
$wczoraj = "31";
$miesiac -= "12";
}
}
if ($wczoraj <= 9) { //Jeżeli wczoraj jest mniejsze lub równe 9
$wczoraj = "0" . $wczoraj;
}
if ($miesiac <= 9) { //Jeżeli miesiac jest mniejsze lub równe 9
$miesiac = "0" . $miesiac;
}
$wczoraj = date('Y') . "-" . $miesiac . "-" . $wczoraj;
$all=0;
$time = date('H'); //Pobiera godzine
$time2 = date('i') - 5; //Pobiera minuty odejmując 5
$link = mysqli_query($db, "SELECT * FROM online"); //Pobiera dane z tabeli 'online'
$online = 0; //ustawia zmienna na = 0
$dzis = 0; //ustawia zmienna na = 0
$wczorajlicz = 0; //ustawia zmienna na = 0
while ($wynik = mysqli_fetch_array($link)) { //Pętla
if ($wynik['data'] == $date) { //jeżeli wynik równa się z dzisiejszą datą
if ($wynik['godzina'] >= $time) { //
if ($wynik['minuta'] >= 5) { //jeżeli wynik minut jest większy lub równy od 5
$minuta = $wynik['minuta'] - 5;
} else {
$minuta = $wynik['minuta'];
}
if ($minuta >= $time2) {
$online++; //Dodaje osobę online
}
}
$dzis++; //Dodaje osobę odwiedzającą do dziś
}
if ($wynik['data'] == $wczoraj) {
$wczorajlicz++; //dodaje osobę odwiedzającą do wczoraj
}
$all++; //Dodaje osobę do wszystkich
}
echo('Osób Online: ' . $online . '<br />'); //Wyświetla tekst
echo('Dzisiaj było: ' . $dzis . '<br />'); //Wyświetla tekst
echo('Wczoraj było: ' . $wczorajlicz . '<br />'); //Wyświetla tekst
echo('Wszystkich razem było: ' . $all . '<br />'); //Wyświetla tekst
?>
A oto zastosowanie skryptu licznik.php
<center><b><font color="brown"><?php include("licznik.php"); ?></b></font></center><br>
Wykonananie skryptu widoczne jest na mojej głównej stronie tutaj
w pliku bd.php powinny znaleść się stałe z nazwą bazy, localhost, nazwą uzytkownika i hasłem do bazy
oraz linijka
$db = mysqli_connect($dbhost, $dbuser, $dbpassword, $dbdatabase);
do tego skryptu należy utworzyć bazę danych np o nazwie licznik z tabelą online odpowiednimi polami
id INT, ip TEXT, data DATETIME , godzina INT, minuta INT
licznik rozrużnia użytkowników po numerze ip. Do kolorowania składni używam funkcji wbudowanych w php.
Jak znajdę czas to być może przedstawię mój skrypt kategorii podobnych do tych w allegro
i drugi skrypt wyszukiwania kategorii, po podaniu nazwy szukanego przedmiotu.
oba skrpyty mają ponad tysiąc linijek, oparte są o bazę danych.Nad skryptami tymi pracowałem miesiącami
w wolne dni tygodnia.
Jako zadanie podaję zapoznanie się z ciekawą galerią przesuwną w javascript z nie istniejącej fan strony
na temat gry Vietcong.
Pobierz archiwum z galerią przesuwną w js
żeby zobaczyć efekt należy klikać w numerki 1|2|3|4 na stronie Vietcong Sniper-division
w pliku shots.htm znajduje się skrypt javascript obsługujący cieniowanie i przesuwanie
otwieranie okna jest w osobnym pliku o nazwie vietcong.js w folderze top. a pliki obrazków w shots_pliki