Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [HELP] FAR SCARICARE

  1. #1
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357

    [HELP] FAR SCARICARE

    Salve ho un piccolo problema con un file che permette agli utenti iscritti di scaricare dei file..
    Il punto è questo che nella pagina che fa vedere i file all'interno della cartella funziona.. Ma quando si clicca sul file per scaricarlo dice che è inesistente...

    vi posto il file così mi potete aiutare

    Codice che crea la lista chiamata list.php:
    codice:
    <?php
    session_start();
    ?>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td colspan="3" align="center">MP3</td>
    </tr>
    <tr>
      <td><div align="center">Episodio</div></td>
      <td><div align="center">Dimensione</div></td>
      <td><div align="center">Mirrors</div></td>
    </tr>
    <?php
    function getmicrotime()
    { 
       list($usec, $sec) = explode(" ",microtime()); 
       return ((float)$usec + (float)$sec); 
    } 
    $inizio = getmicrotime();
    //Sarà utile per vedere in quanti secondi processa tutto lo script.
    
    //mi evito tutte le cose che forse voi dovreti piazzare.. ma questo.. è il meno
    $configurazione = @include("includes/db.php");
    if($configurazione == false)
    {
    	//Non riesce ad aprire il file di configurazione dunque. non può partire poichè appunto, non conosce la directory.
    	die("Impossibile inizializzare il programma");
    }
    
    //Prendiamoci tutti i file della cartella.
    if ($handle = opendir($eps_dir)) 
    {
    	while (false !== ($file = readdir($handle))) 
    	{ 
    		if ($file != "." && $file != "..") 
    		{
    			$encode = base64_encode($file);
    			$a1=filesize("$eps_dir/$file");
    			$a2=$a1/1024;
    			$a3=$a2/1024;
    			$a4=intval($a3);
    						
    			echo "<tr><td align='center'>".$file."</td><td align='center'>".$a4." MB</td><td align='center'><a target=\"_blank\" href=\"down/get.php/$fakerize/$encode\">Download</a></td></tr>";
    		} 
    	}
    	closedir($handle);
    }
    ?>
    </table>
    Codice che permette o meno di scaricare.. cn verifica log, chiamato get.php

    codice:
    <?php
    session_start();
    require("../includes/db.php");
    include("../includes/functions.php");
    
    // Carichiamo qualche variabile per il controllo del tempo °__°
    $now_time = time();
    $dl_limit = $eps_limit*60;
    $timeout = $now_time+$dl_limit;
    
    // Prendiamo la directory per scaricare ^^
    $dl_dir = explode("/",$eps_dir);
    
    // Connetto al mysql
    $connessione =	@mysql_connect($db_host,$db_user,$db_pass);
    @mysql_select_db($db_name,$connessione);
    
    //Questo è il file più importante...
    
    $cropped = explode("/", $_SERVER['PHP_SELF']);
    if($cropped[count($cropped)-2] == $fakerize)
    {
    	$file = $cropped[count($cropped)-1];
    	$verofile = base64_decode($file);
    	if(isset($_SESSION[username]))
    	{
    		define("OK", true);	
    	}
    	else if(isset($_SERVER['PHP_AUTH_USER']))
    	{
    		$username = $_SERVER["PHP_AUTH_USER"];
    		$password = md5($_SERVER["PHP_AUTH_PW"]);
    		
    		//vediamo se è un vero utente o ci sta inculando di brutto.
    		$query = "SELECT * FROM $table_reg WHERE username ='$username' AND password ='$password'"; //modificala secondo le tue esigenze
    		if(mysql_fetch_row(mysql_query($query)))
    		{
    			define("OK", true);
    		}
    	}
    	else if(!isset($_SERVER['PHP_AUTH_USER']))
    	{
    		header("WWW-Authenticate: Basic realm=\"AMWORLD.IT\"");
    		header("HTTP/1.0 401 Unauthorized");
    		redirect('javascript:window.close();', 1);
    		die("Impossibile scaricare!");
    	} 
    	if(defined("OK"))
    		{
    			//inviamogli il file che tanto bramava!
    			//ma prima... esiste?!
    			if(is_file($dl_dir[1]."/".$verofile))
    			{
    			    $control = @mysql_query("SELECT dl_timeout FROM $table_reg WHERE username='$username' OR username='$_SESSION[username]'",$connessione);
    				$dl_timeout = mysql_fetch_row($control);
    				if ($dl_timeout[0] >= $now_time) { die("E' possibile scaricare solamente un file ogni $eps_limit minuti"); } 
    				elseif($dl_timeout[0] < $now_time) {
    				$set_timeout = @mysql_query("UPDATE $table_reg SET dl_timeout='$timeout' WHERE username='$username' OR username='$_SESSION[username]'",$connessione);
    				mysql_close();
    				
    				header("Content-Disposition: attachment; filename = $verofile");
    				header("Content-Transfer-Encoding: binary");
    				readfile($dl_dir[1]."/".$verofile);
    				}
    			}
    			else
    			{
    			    redirect('javascript:window.close();', 1);
    				die("Il file da te richiesto non esiste");
    			}
    		}
    		else
    		{
    			unset($_SERVER["PHP_AUTH_USER"]);
    			unset($_SERVER["PHP_AUTH_PW"]);
    			redirect('javascript:window.close();', 1);
    			die("Non sei loghinato.");
    		}
    	}
    else
    {
    	redirect('javascript:window.close();', 1);
    	die("Errore. La cartella non esiste.");
    }
    ?>
    premetto che nel db.php c'è
    codice:
    $eps_dir   =  "down/MP3";
    $eps_limit = 10;
    $fakerize  =  base64_encode("togoooo").md5($eps_dir);
    Inoltre giusto per farci capire nell cartella down ci sono i file get e list..all'interno di down c'è un altra cartella kiamata MP3

    spero che risuciate ad aiutarmi.. grazie

  2. #2
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    se nn sapete aiutarmi consocete un buono script che serve a questo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.