Autor Zpráva
drozdo
Profil
Zdar
potreboval by som niaky prikaz alebo daco aby som mohol Uploadnuty subor niaky linkom zmazat
napirklad ako rapidshare.. uloadnem a ukaze mi dva linky: stahovaci a mazaci...
mam to iste, len nemam mazaci link...... ako to spravit?..... dakujem ta moja stranka: www.pemadk.sk/u
Matty
Profil
drozdo
V PHP je na mazání souborů funkce unlink().
Můžeš si tedy například v odkazu předávat adresu souboru a ve scriptu si tu adresu vytáhnout ze superglobální proměnné GET.
drozdo
Profil
neslo by to jednoduhsie? :)
reso
Profil
jednoduchsie ? :D co je na tom tazke

unlink("drozdo.gif");
drozdo
Profil
Zdar a taky mensi problem....
<?php

/* Nastavení údajů */

$nazev_souboru = "ach.php";
$rezim_souboru = "a+";

/* Hlavní skript */

$x = fopen($nazev_souboru, $rezim_souboru);

$obsah = unlink('a.jpg');

if(!@fwrite($x, $obsah))
echo ("chyba pri zapisovani do suboru");
else
fclose($x);


?>

preco mi tu ten subor zmaze skor ako sa mi nakopiruje do noveho suboru co sa ma podla toho vytvroit.
bohyn
Profil
drozdo
unlink maze soubor, nenacita obsah. Pouzij file_get_contents()
bohyn
Profil
BTW: proc vlastne se snazis ulozit obrazek do PHP souboru?
drozdo
Profil
ono cely skript vyzera uplne inak..len tuto davam iba taky priklad .....to je v podstate to rovnake...
a nechcem ulozit obrazok do php suboru.....chcem aby v tom php subore bol prikaz na vymazanie toho obrazku spolocne so samym tym suborom, len nevim ako to tam napisat "fwrit-om" (asis tomu nepochopil)...
dik
bohyn
Profil
Kdyz uz tak by se to delalo takhle:
$obsah = '<? unlink("a.jpg"); ?>'

Neni ale lepsi mit jeden univerzalni soubor na mazani?
$file = $_GET['file'];
if(strpos($file, "../") === false && strpos($file, __FILE__) === false && is_file($file)) {
  unlink($file);
}
else {
  echo "Pokus o smazani selhal";
}

Mej tenhle soubor v adresari do kteryho uploadujes a zadny jiny soubory nez ty na stahnuti
drozdo
Profil
jj dik ten prvy sposob co si navrhoval nie je mozny pretoze ?> ukonci cely skrypt a neda sa pokracovat v tom....to by bol pre mna najrozumnejsi pripad, pretoze ten druhy nie je presne ono co potrebujem.....sak sa kukni www.pemadk.sk/u (uploadni si niaku blbost a klikni na zmazanie ...... no a to potrebujem tam niak napisat....
dik zatial
bohyn
Profil
drozdo
Na to se da pouzit mod_rewrite nebo:
/drozdo/Upload/delete.php?file=soubor_na.smazani
drozdo
Profil
promin ale som z toho dost mimo nemam s tym skusenosti nechapem ako:
takyto mam zdrojak: hrubo vytlacene je to co potrebujem napravit

<?php 
$cil = getcwd() . '/files/'; // jakejkoliv adresar 
$cil .= $_FILES['fupload']['name']; 
$max_velikost = 5242880; // 5 mb
$suborik = explode(".", basename( $cil )); 
$pripona = $suborik[1]; 
$nazov = $suborik[0];

if ( file_exists( $cil ) )
{
$hlaska = 'Subor uz existuje!';
}
else
{
// jeste prilep prinejmensim tu kontrolu typu souboru 
if ( is_uploaded_file( $_FILES['fupload']['tmp_name'] ) && $_FILES['fupload']['size'] < $max_velikost )
{
 
if($pripona == 'php')
{ 
$hlaska = '<p>Subory s priponou <b>'.$pripona.'</b> nie je dovolene uploadovat!</p>';
}
else
{
/*  
$cil = is_this_file_out_there( $cil ); // srandovni fce 
*/
if ( $cil === FALSE ) 
{ 
$hlaska = '<p>Meno suboru sa nejak moc opakovalo, tak sa nenahral...</p>'; 
} 
elseif ( move_uploaded_file( $_FILES['fupload']['tmp_name'], $cil ) ) 
{

$obsah = 'prikaz na zmazanie nie je este hotovy :) <br>
         matu byt nieco take ako: \'unlink(menosuboru)\'';
         
    
$x =  fopen('./delete/'.$nazov.'.php','a');
      fwrite($x,$obsah);
$hlaska = '<p>Soubor <b>' . basename( $cil ) . '</b> sa podarilo nahrat.<br>
	Pod nazvom:  <a href="http://87.197.121.100/drozdo/Upload/files/'. basename( $cil ) .'">
  <b>http://87.197.121.100/drozdo/Upload/files/'. basename( $cil ) .'</b></a><br>
       Tymto je mozne <u>zmazat</u> subor: 
  <a href="http://87.197.121.100/drozdo/Upload/delete/'.$nazov.'.php">
   <b>http://87.197.121.100/drozdo/Upload/delete/'.$nazov.'.php</br></a><    /p>';	

} 
else 
{ 
$hlaska = '<p>' . basename( $cil ) . ' sa bohuzial <b>nepodarilo</b> nahrat.</p>'; 
} 
}
} 
else 
{ 
$hlaska = '<p>' . $_FILES['fupload']['name'] . ' Sem vlozte subor (max 5MB)!</p>'; 
} 
}
bohyn
Profil
Z toho kodu co sem ti napsal udelej soubor treba "delete.php" v adresari upload.
Tak kde davas odkaz na smazani dej:
"http: //87.197.121.100/drozdo/Upload/delete.php?file='.basename($cil).'"
drozdo
Profil
kamosko funguje vsetko ako maaa......diky moc :) mas u mna pivo som z DK :D
bohyn
Profil
drozdo
Jeste bych ten uploadovaci script osetril tak aby neslo uploadovat zadny spustitelny script.
drozdo
Profil
je tam take daco...... if($pripona == 'php') ale pridam este 'phtml', 'php3', 'php4', 'ph3', 'ph4' a bude ok:)
IdemeNaHavaj
Profil
Ahoj,
potrebujem poradiť, vymazať súbor viem ale potrebujem ho hneď ako sa vymaže znova vytvoriť ale už s novým obsahom (niečo ako aktualizácia). Ako cez php vytvoriť súbor?
Rfilip
Profil
Kromě toho že vytahuješ 5let starý vlákno...
Na to se hodí funkce file_put_contents ,
IdemeNaHavaj
Profil
Rfilip:
Našlo mi to vo vyhľadávaní keď som zadával názov témy. Ďakujem za odpoveď.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0