Autor Zpráva
joker0cz
Profil *
Dobrý den,
potřeboval bych pomoct mám následující problém.
Zakládám upload server a až do teď sem používal tento kód pro upload:

index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
    <title>DOWNLOAD</title>
  </head>
  <body>
  <form action="index.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fupload">
    <input type="submit" value="Nahrát">
  </form>
  <?php
  define("PREFIX", "awdefr_");  //7pismeny prefix
  function pekne_url($nadpisek) {
    $url = $nadpisek;
    $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
    $url = trim($url, "-");
    $url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
    $url = strtolower($url);
    $url = preg_replace('~[^-a-z0-9_]+~', '', $url);
    return $url;
  }
  function utf2ascii($text)   
    { 
        $return = Str_Replace( 
                        Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý ","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") ,

                        Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y ","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") ,                        
                        $text); 
        $return = StrToLower($return); //velká písmena nahradí malými. 
        return $return;  
    }
  if (isset($_FILES['fupload']))
  {
    $slozka = "upload"; // Zde si napište svojí složku, do které se budou soubory ukládat (bez lomítka)
    $nazev = PREFIX.date("Ymd").date("Hi").pekne_url(utf2ascii($_FILES['fupload']['name'])).".".strtolower(pathinfo($_FILES['fupload']['name'], PATHINFO_EXTENSION)); 
    $cil = $slozka . "/" .$nazev; // Toto je promìnná $cil, která obsahuje adresáø, kde se má soubor uploadovat a taky název souboru.
    $nazev_souboru = $_FILES['fupload']['tmp_name']; // Zjistí doèastné umístìní souboru
    $copy = move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z doèastného umístìní do cílového souboru a složky
      or die ("Přenesený soubor nelze zkopírovat ".PREFIX.$_FILES['fupload']['tmp_name'].date("Ymd").date("Hi")); // A pokud se nepovede, tak vypíše tuto hlášku
    chmod ($cil, 0644); // Ještì na soubor vyhodíme funkci chmod, která zmìní jeho práva na maximum, pokud by soubor psal chybu zmìòte 0644 na 0777
    if($copy == true){ // Pokud se kopírování provede úspìšnì
      echo "Soubor " .$_FILES['fupload']['name']. " byl úspěšně nahrán na server.<br /> Stáhnout: <a href='download.php?soubor=".substr($nazev, 7)."' title='Stáhnout'>".substr($nazev, 19)."</a><br />";
    }else{
      echo "Soubor nemohl být nahrán.\nPočet chyb: " . $_FILES['fupload']['error'];
    }
  }
?>
 

  </body>
</html>


a také soubor
download.php
:

<?php
define("PREFIX", "awdefr_");  
if(isset($_GET["stahni"])){
if(file_exists("upload/".PREFIX.$_GET["stahni"])){
header("Content-Disposition: attachment; filename=".substr($_GET["stahni"], 12));   
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");            
header("Content-Length: " . filesize("upload/".PREFIX.$_GET["stahni"]));
readfile("upload/".PREFIX.$_GET["stahni"]);
}
else {echo "Soubor nenalezen.";}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <?php 
  if(isset($_GET["soubor"])){
  echo '<meta http-equiv="refresh" content="3;URL=?stahni='.$_GET["soubor"].'">';
  }
  ?>
  <title>DOWNLOAD</title>
  </head>
  <body>
  <?php 
  if(isset($_GET["soubor"])){
  echo "zobrazení reklamy";
  }
  ?>
  </body>
</html>


jak jste si mohli všimnout je tam písmený prefix kvůli reklamě tento kód je tady. Jenomže jsem zjistil že lidi potřebujou vidět kolik toho nahráli tak jsem se musel přispůsobit a došel jsem k tomu (za pomocí uznávaného člena tohoto fóra) že použiju z těchto stránek tento kód, který si můžete stáhnout zde je to hotový příklad a vypadá to takhle. No a problém je v tom, že mi nejde předělat písmený prefix na ten nový kód (nikoliv ten co sem uváděl zde). Další věcí je že u kódu který je napsaný zde v tomto příspěvku se pouploadnutí zobrazil odkaz na link který už byl přepsaný tímto prefixem. Nevíte někdo jak bych to měl skloubit tak aby to šlo všechno (myšleno nový kód z uploadify.com, prefix a odkaz po uploadnutí na link kódovanej prefixem ? Zkoušel jsem všechno možný ale nikdy to nefungovalo tak jak mělo prosím o odpoved. Děkuji.
AM_
Profil
Tvůj příspěvek je lehce zmatený.
Zaprvé: nejen v diskusi, ale obecně jako webař, dávej do textu odkazu něco výstižnějšího, než zájmena. Odkaz je obvykle opticky hodně zvýrazněn, takže jeho text by měl být stručný a výstižný (zdrojový kód, stránka s uploadem, takhle vypadá když to nefunguje), a ne zájmeno (tady, těchto, zde, támhleto, tentononc).
Zadruhé: k čemu je ten písemný prefix? proč by měl nějak souviset s reklamou? já bych reklamu při downloadu řešil takhle:

- download link bude třeba na "down.php?file=test.jpg"
soubor down.php:
- zkontroluje, zda v $_SESSION['down'] je test.jpg
- pokud ano, normálně nechá stáhnout obsah souboru
- pokud ne, zobrazí reklamu, nastaví onu hodnotu do SESSION a za pár vteřin se refreshuje (session už bude nastavená, takže se provede stažení).

Ten prefix mi připadá dost nesmyslný, pokud to má být ochrana proti tomu, aby uživatel nemohl stáhnout soubor přímo, není nad to dát do složky "upload" soubor .htaccess s řádečkem "deny from all" - soubory tedy nepůjdou odkázat přímo, ale stáhnout jen skrz stahovací skript.
joker0cz
Profil *
takbych vás poprosil jestli bys te me nemohl pomoct jak by jste to udělal vy (myslim konkrétně) v php nejsem moc dobrej proto se obracim na tady to fórum jestli by mě někdo nepomohl tento kód napsat jeden řiká že je tohle nej. druhej to řiká uplně jinak nwm běhá mě z toho hlava kolem :D jak by vypadal ten soubor down.php a index s htaccess?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0