Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: tiedosto koodi

Sivun loppuun

kafka [10.02.2004 15:19:30]

#

Onks sellane mahollist php:llä et se aina esim. viikon välein vaihtaa tiedostojen nimiä sillai et se lisää vaa niiden peräs olevan koodin esim. tiedosto[03598682386].zip ja sitte listaa ne jossai sivus mut ei näytä niit koodeja?

T.M. [10.02.2004 15:32:40]

#

Kerroppa mihin tarkoitukseen tuo tulee? niin voisi auttaa paremmin. Tiedostojen nimiä ei kannata muuttaa.

Voisit tehdä vaikka niin että teet tiedoston joka näyttää tiedostojasi, ja sen tiedoston johonkin osoitemuuttujaan($_GET jutut...:) jokin "salasana", jonka arvoon vaikuttaa viikon numero.

Edit: pieniä viilauksia

kafka [10.02.2004 15:33:48]

#

lainaus:

Kerroppa mihin tarkoitukseen tuo tulee? niin voisi auttaa paremmin. Tiedostojen nimiä ei kannata muuttaa.

Voisit tehdä vaikka niin että teet tiedoston joka näyttää tiedostojasi, ja sen tiedoston johonkin osoitemuuttujaan jokin "salasana", jonka arvoon vaikuttaa viikon numero.

koska en haluu et mun tiedostoihin linkitetään muilta sivuilta...
En katos osaa tarpeeks php... (jos osaan edes ollenkaan)

kafka [10.02.2004 15:49:11]

#

Niin ne ketkä voisi auttaa niin voi pistää koodin tuohon...
En siis halua että minulla olevia tiedostoja linkitetään toiselta sivulta...

ajv [10.02.2004 19:24:38]

#

No eipä ollu muutakaan tekemistä:

<?php
//uudelleenimeää kaikki hakemistossa olevat tiedodtot
//tiedoston oltava muodossa tiedosto[7894].pääte
function uud_nim($hak) {
	if(!file_exists($hak)) exit("Hakemistoa \"$hak\" ei löytynyt");
	$a=@opendir($hak);
	while($file = readdir($a)) {
		if(ereg("^\\.",$file)) continue;
		if(ereg("\[",$file) && ereg("\]",$file)) {
			$hajotus = explode("[",$file);
			$alku = $hajotus[0];
			$hajotus = explode("]",$file);
			$loppu = $hajotus[1];
			$uusi = $alku."[".mt_rand(0,1000000)."]".$loppu;
			if(!@rename("$hak/$file","$hak/$uusi")) print "Tiedoston $tied uudelleennimeäminen epäonnistui";
			} else {
			print "Tiedostosta \"$file\" ei löytynyt hakasulkeita";
			}
		}
	}


//tulostaa linkit hakemistossa oleviin tiedostoihin
function lue_hak($hak) {
	if(!file_exists($hak)) exit("Hakemistoa \"$hak\" ei löytynyt");
	print "<table>";
    $a=@opendir($hak);
	while($file = readdir($a)) {
		if(ereg("^\\.",$file)) continue;
		print " <tr>\n  <td><a href=\"".$hak."/".$file."\">".$file."</a></td>\n </tr>\n";
		}
    closedir($a);
    print "</table>\n";
    }

//käyttö
uud_nim("kansio");
lue_hak("kansio");
?>

EDIT: Niin ja tiedostojen oikeudet pitää määritellä siten, että uudelleennimeäminen onnistuu.

kafka [10.02.2004 19:56:58]

#

Saako tuossa sillä tavalla että se ottaa ton koodi osan pois kun se listaa sen?

Muuten kyllä hyvä koodi! :D

T.M. [10.02.2004 20:02:39]

#

Hmm.. Mihin tarkoitukseen oikeastaan tarvitset tätä? Kuvien suoralinkittämisen estoksi vai?
En näe mitään syytä estää toisia imuroimasta sinun zippejäsi :)

kafka [10.02.2004 20:03:34]

#

lainaus:

Hmm.. Mihin tarkoitukseen oikeastaan tarvitset tätä? Kuvien suoralinkittämisen estoksi vai?

.zip tiedostojen suoralinkittämisen estoksi!

T.M. [10.02.2004 20:04:44]

#

Mutta miksi? Voinhan minä tulla sivuillesi ja sitten imuroida ne sieltä.
Vai onko kyseessä jokin tiedosto-kirjasto, joiden linkkejä et halua kopioituvan toisille sivuille? (koska ne ovat sinun...(jos edes on? jos ei niin tälläinen ei onnistu(sinun tarkoittaa sitä että ne ovat sinun PHP:tä tukevalla palvelimella)))

ajv [10.02.2004 20:11:17]

#

<?php
function lue_hak($hak) {
	if(!file_exists($hak)) exit("Hakemistoa \"$hak\" ei löytynyt");
	print "<table>";
    $a=@opendir($hak);
	while($file = readdir($a)) {
		if(ereg("^\\.",$file)) continue;
		if((ereg("\[",$file)) & (ereg("\]",$file))) {
			$hajotus = explode("[",$file);
			$alku = $hajotus[0];
			$hajotus = explode("]",$file);
			$loppu = $hajotus[1];
			$uusi = $alku.$loppu;
			print " <tr>\n  <td><a href=\"".$hak."/".$file."\">".$uusi."</a></td>\n </tr>\n";
			} else {
			print " <tr>\n  <td><a href=\"".$hak."/".$file."\">".$file."</a></td>\n </tr>\n";
			}
		}
    closedir($a);
    print "</table>\n";
    }
?>

kafka [10.02.2004 20:19:09]

#

lainaus:

Mutta miksi? Voinhan minä tulla sivuillesi ja sitten imuroida ne sieltä.
Vai onko kyseessä jokin tiedosto-kirjasto, joiden linkkejä et halua kopioituvan toisille sivuille? (koska ne ovat sinun...(jos edes on? jos ei niin tälläinen ei onnistu(sinun tarkoittaa sitä että ne ovat sinun PHP:tä tukevalla palvelimella)))

Annatko olla? :D

Haluan että ihmiset käyvät minun sivuilta lataamassa tiedostot...

Matti Kaijomaa [11.02.2004 08:19:45]

#

Mut jos joku tosissaan haluu sen sun tiedoston sivuilleen, nii et sä sitä voi estää, hankaloittaa vain.

Meitsi [11.02.2004 11:34:45]

#

tee mielummin semmonen että kuvien (tai tiedostojen) lataaminen sivuillesi tapahtuu phpllä joka toimisi näin: kuva.php?kuva=logo
ja aina kun näin lataa kuvan, niin se vaihtaa oikean kuvatiedoston nimeä, ja laittaa sen nimen filuun josta se seuraavalla kerralla ottaa sen nimen. Näin filujen nimet muuttuvat aina kun niitä käytetään. Ja sitten jos haluaa että vain sun sivuilta voi niitä ladata niin tee silleen, että kuvien tai filujen lataaminen tällä tavalla vaatii sessionid:n ja sen saaminen vaatii sun sivuilla visiitillä käyntiä, jotta sen saa keksiin.

tsuriga [11.02.2004 13:05:00]

#

lainaus:

Mut jos joku tosissaan haluu sen sun tiedoston sivuilleen, nii et sä sitä voi estää, hankaloittaa vain.

Niin voihan sen tallentaa koneelle ja siirtää omalle ftp:lle esim, mutta tässä nyt on kyse kaistasta. Kun noilla tilantarjoajilla on yleensä joku transfer limit.

Juhis [11.02.2004 14:10:26]

#

<?php
      $strOldFilename = "ihku.zip"; // vanha tiedosto
	$temp = array_reverse(explode(".",$strOldFilename)); // explodella tiedostotyyppi selville
	$type=strtolower($temp[0]);
      $strNewFilename = $strOldFilename.date("dmY",time()).".".$type; // uusi tiedosto

      shell_exec("cp $strOldFilename $strNewFilename"); // cp on unixin kopiointi komento, kopioidaan sillä vanha uudeksi
      shell_exec("rm $strOldFilename"); // ja sitten rm komennolla poistetaan vanha
?>

Tässä siis pieni esimerkki shell_execin käytöstä

Tempfile [11.02.2004 15:45:26]

#

htaccessillä pystyy estämään tiedostoihin linkityksen muilta kuin omilta sivuilta. Katso täältä: http://www.javascriptkit.com/howto/htaccess10.shtml

tsuriga [11.02.2004 16:03:29]

#

Olisiko kellään tallessa koneella http://pikseli.biz/pub/htaccess.html sivua? Ei löydy ainakaan tällä hetkellä, ja siellä kun oli varsin käteviä ohjeita.

Juhis [11.02.2004 16:06:17]

#

http://web.archive.org antaa vastauksen.

folio [11.02.2004 18:21:05]

#

lainaus:

Olisiko kellään tallessa koneella http://pikseli.biz/pub/htaccess.html sivua? Ei löydy ainakaan tällä hetkellä, ja siellä kun oli varsin käteviä ohjeita.

Ja on edelleenkin: http://www.pikseli.biz/blog/archive/2003/10/21/htaccess_haltuun/

tsuriga [11.02.2004 20:49:35]

#

Siinähän se, kiitos. Kävinpä tuolla googlen kautta, mutten huomannut, että osoite oli pikseli.biz :).


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta