Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Avrrei Bisogno Di Un Controllo

    Salve a Tutti,

    io sono nuovo e mi ritrovo qui per il fatto che non so più dove battere la testa
    ho da poco cominciato a dilettarmi con php (Autodidatta) e stò creando un form per l'upload di un file su server di un sito il cui sono Amministartore

    premetto di essermi tanto aiutato con la rete ed in effetti quello che ho creato apparentemente sembra funzionare bene però ho riscontrato un problemino che per lo scopo del suo utilizzo si rivela enorme

    traduzione l'upload funziona ma non gli importa se il file è già presente sul server e lui lo sovrascrive senza pensarci troppo su e questo non è bene

    LA MIA DOMANDA È: come posso inserire un sistema di controllo che mi blocchi l'upload in caso di presenza del file sul server e imperdire così la sovrascrittura??

    in seguito allego il codice del mio file php attualmente funzionante con all'interno già un sistema di verifica parziale

    codice:
    <head>
      <title>EXTREME TUNING ONLINE 2 Uploader</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta name="generator" content="handmade" />
    	<style type="text/css">
    	<!--
    		body {
    			font-family: Arial, Helvetica, sans-serif;
    			font-size: 14px;
    			background-color: #000000;
    		}
    		.cnt {
    			color: #a1a1a1;
    			text-align: center;
    		}
    		.cnt_welcome {
    			font-size: 16px;
    			font-weight: bold;
    			color: #a1a1a1;
    			text-align: center;
    		}
    		.cnt_powered {
    			font-size: 14px;
    			font-weight: bold;
    			text-align: center;
    		}
    		.cnt_small {
    			font-size: 12px;
    			text-align: center;
    			padding-top: 50px;
    		}
    		.head_line {
    			background-color: #716f6f;
    		}
    		.main_table {
    			border: solid 1px #9D9992;
    			font-size: 13px;
    		}
    		h4 {
    			font-size: 20px;
    			color: #DD0000;
    			text-align: center;
    		}
    		.button {
    			border: 1px solid #55555;
    			font-weight: bold;
    		}
    -->
    </style>
    </head>
    
    <body>
    
    
    <?
    include("config.php");
    
    function path_options()
    {
     global $upload_dirs;
      $option = "";
      foreach ($upload_dirs as $path => $pinfo)
      {
        $option .= '<option value="'.$path.'">'.$pinfo["name"].'</option>';
      }
     return $option;
    }
    
    function check_vals()
    {
     global $upload_dirs, $err;
    	if (!ini_get("file_uploads")) { $err .= "HTTP file uploading is blocked in php configuration file (php.ini). Please, contact to server administrator."; return 0; }
    	$pos = strpos(ini_get("disable_functions"), "move_uploaded_file");
    	if ($pos !== false) { $err .= "PHP function move_uploaded_file is blocked in php configuration file (php.ini). Please, contact to server administrator."; return 0; }
      if (!isset($_POST["path"]) || (strlen($_POST["path"]) == 0)) { $err .= "Devi selezionare una Destinazione"; return 0; }
      if (!isset($upload_dirs[$_POST["path"]])) { $err .= "Destinazione Errata"; return 0; }
      if (!isset($_POST["pwd"]) || (strlen($_POST["pwd"]) == 0)) { $err .= "Devi inserire la MOD Password"; return 0; }
      elseif ($_POST["pwd"] != $upload_dirs[$_POST["path"]]["password"]) { $err .= "La MOD Password e'errata"; return 0; }
      if (!isset($_FILES["userfile"])) { $err .= "File non Selezionato"; return 0; }
      elseif (!is_uploaded_file($_FILES['userfile']['tmp_name'])) { $err .= "Nessun File Caricato"; return 0; }
     return 1;
    }
    
    $err = ""; $status = 0;
    if (isset($_POST["upload"])) {
      if (check_vals()) {
        if (filesize($_FILES["userfile"]["tmp_name"]) > $max_file_size) $err .= "Limite Dimensione Massima: $max_file_size bytes";
        else {
          if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $upload_dirs[$_POST["path"]]["dir"].$_FILES["userfile"]["name"])) {
    				$status = 1;
    			}
          else $err .= "There are some errors!";
        }
      }
    }
    
    if (!$status) {
      if (strlen($err) > 0) echo "<h4>$err</h4>";
    }
    else {
      echo "<h4>FILE CARICATO CORRETTAMENTE.</h4>
    ";
      echo "<h4>LINK DA UTILIZZARE</h4>";
      echo "<h4></h4>";
    }
    ?>
    
    <p class="cnt_welcome">EXTREME TUNING ONLINE 2 Uploader v 1.0</p>
    
    <p class="cnt">(Selezionare la Destinazione, Inserire la MOD Password, quindi selezionare il FILE DA CARICARE e premere su "Upload").
    	
    Note: 
    		DESTINAZIONI: &quot;ABITAZIONI&quot;;
    		&quot;NOLEGGI&quot;;
    		&quot;ALTRO&quot;;
    		Dimensione Massima File: <?=$max_file_size/1024?> Kb.</p>
    
    <form enctype="multipart/form-data" action="imageupload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="<?=$max_file_size?>" />
    <table class="main_table" align="center" bgcolor="#CCCCCC">
      <tr>
        <td colspan="2" class="head_line"></td>
      </tr>
      <tr>
        <td>Destinazione:</td>
        <td><select name="path"><?=path_options()?></select></td>
      </tr>
      <tr>
        <td>Password:</td>
        <td><input type="password" name="pwd" style="width: 217px;" /></td>
      </tr>
      <tr>
        <td>Seleziona file:</td>
        <td><input type="file" name="userfile" style="width: 222px;" /></td>
      </tr>
      <tr>
        <td colspan="2" align="right"><input type="submit" name="upload" value="Upload" class="button" /></td>
      </tr>
    </table>
    </form>
    
    </body>
    </html>
    aspetto con ansia un aiuto GRAZIE

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    intanto bisogna capire che cosa intendi per file già presente, potresti controllare se esiste un file con la stesso nome (ma non è detto che sia lo stesso file) oppure potresti controllare l'hash del file il che consentirebbe di caricare 2 file diversi ma con lo stesso nome, quindi di preciso la tua esigenza quale è?

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    praticamente mi deve controllare se un file dello stesso nome è già presente e si conseguenza chiedermi che deve fare se continuare e sovrascrivere o annullare l'upload

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.