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?
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
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)
Niin ne ketkä voisi auttaa niin voi pistää koodin tuohon...
En siis halua että minulla olevia tiedostoja linkitetään toiselta sivulta...
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.
Saako tuossa sillä tavalla että se ottaa ton koodi osan pois kun se listaa sen?
Muuten kyllä hyvä koodi! :D
Hmm.. Mihin tarkoitukseen oikeastaan tarvitset tätä? Kuvien suoralinkittämisen estoksi vai?
En näe mitään syytä estää toisia imuroimasta sinun zippejäsi :)
lainaus:
Hmm.. Mihin tarkoitukseen oikeastaan tarvitset tätä? Kuvien suoralinkittämisen estoksi vai?
.zip tiedostojen suoralinkittämisen estoksi!
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)))
<?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"; } ?>
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...
Mut jos joku tosissaan haluu sen sun tiedoston sivuilleen, nii et sä sitä voi estää, hankaloittaa vain.
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.
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.
<?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ä
htaccessillä pystyy estämään tiedostoihin linkityksen muilta kuin omilta sivuilta. Katso täältä: http://www.javascriptkit.com/howto/htaccess10.
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.
http://web.archive.org antaa vastauksen.
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/
Siinähän se, kiitos. Kävinpä tuolla googlen kautta, mutten huomannut, että osoite oli pikseli.biz :).
Aihe on jo aika vanha, joten et voi enää vastata siihen.