- Home
- Categorie
- Coding e Sistemistica
- PHP
- upload con password - inserimenzo opzioni files
-
upload con password - inserimenzo opzioni files
Ciao a tutti, devo fare in modo che
questo odulo per l'upload con password che ora in locale è perfettamente
funzionante faccia in modo che:- mi arrivi un email di avviso al mio indirizzo di posta [email][email protected][/email]
- fare in modo che se si superano i 5 mega si venga effettivamente avvisati e l'upload non venga consentito
- in caso di sovrascrittura non venga consentito l'upload
- la verifica che si tratti di files jpg
Ho cercato di inserire queste opzioni nello script ma evidentemente colloco le stringhe in modo sbagliato e probabilmente non riuscendo ancora a leggere il codice combino dei pasticci.
Vi allego i due files con le opzioni di verifica inserite. Errate perchè se mi collego poi alla pagina di upload vedo lo schermo nero.
Grazie ancora e buon fine settimana a tutti.
webbeginner
index.php (qui ho inserito le opzioni di verifica sui files relativamente alla dimensione che è quella dei 5 mega, mi sembra di capire che va a pescarla nel file config.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>ES Simple 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 {
text-align: center;
}
.cnt_welcome {
font-size: 16px;
font-weight: bold;
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: #BBBBBB;
}
.main_table {
border: solid 1px #9D9992;
font-size: 13px;
}
h4 {
font-size: 12px;
color: #DD0000;
text-align: center;
}
.button {
border: 1px solid #55555;
font-weight: bold;
}
.Stile1 {color: #FFFFFF}
.Stile3 {font-size: 16px; font-weight: bold; text-align: center; color:; }
.Stile5 {font-size: x-small; font-weight: bold; text-align: center; color:; font-family: Verdana, Arial, Helvetica, sans-serif; }
.Stile6 {
color: #999999;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: x-small;
font-weight: bold;
}
.Stile8 {
font-weight: bold;
text-align: center;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: x-small;
color: #FFFF00;
}
a:link {
color: #FFCC66;
}
a:visited {
color:;
}
a:hover {
color:;
}
-->
</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 .= "Please fill out path"; return 0; }
if (!isset($upload_dirs[$_POST["path"]])) { $err .= "Incorrect path"; return 0; }
if (!isset($_POST["pwd"]) || (strlen($_POST["pwd"]) == 0)) { $err .= "Please fill out password"; return 0; }
elseif ($_POST["pwd"] != $upload_dirs[$_POST["path"]]["password"]) { $err .= "The upload password is incorrect"; return 0; }
if (!isset($_FILES["userfile"])) { $err .= "Empty file"; return 0; }
elseif (!is_uploaded_file($_FILES['userfile']['tmp_name'])) { $err .= "Empty file"; return 0; }
return 1;
}$err = ""; $status = 0;
if (isset($_POST["upload"])) {
if (check_vals()) {
if (filesize($_FILES["userfile"]["tmp_name"]) > $max_file_size) $err .= "Maximum file size limit: $max_file_size Mb";
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>"".$_FILES["userfile"]["name"]."" was successfully uploaded.</h4>";/* Spediamo l'email */
$_MESS = "C'è una nuova immagine da verificare, il suo nome è ".$_FILES['img']['name'];
mail($_EMAIL, "Nuova immagine da verificare", $_MESS);
}?>
<p class="cnt_welcome"><img src="logonew456x32.gif" width="456" height="38" /></p>
<p align="center" class="Stile3"> </p>
<table width="600" border="0" align="center">
<tr>
<td><span class="Stile5">Vi preghiamo di richiedere la password a mezzo </span><span class="Stile8"><a href="mailto:[email protected]">email</a></span><span class="Stile5"> precisandoci le vostre esigenze e preferenze. Vi verrà inviata entro breve tempo e vi consentirà di inviarci il vostro file in visione in assoluta sicurezza e senza alcun impegno da parte vostra. </span></td>
</tr>
<tr>
<td><div align="justify" class="Stile6">Please, ask for your password <a href="mailto:[email protected]">here</a> telling us about your preferences. We will give it to you very soon to let you to send your image for a judment in order an eventual restoration. </div></td>
</tr>
<tr>
<td bgcolor="#333333"> <br />
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="<?=$max_file_size?>" />
<table class="main_table" align="center">
<tr>
<td colspan="2" class="head_line"> </td>
</tr>
<tr>
<td><span class="Stile1">Folder:</span></td>
<td><select name="path"><?=path_options()?></select></td>
</tr>
<tr>
<td><span class="Stile1">Password:</span></td>
<td><input type="password" name="pwd" style="width: 217px;" /></td>
</tr>
<tr>
<td><span class="Stile1">Choose file:</span></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>
<p class="cnt_powered">
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<div align="center"></div>
<div align="center"></div>
<p class="cnt_powered">
<p class="cnt_powered"><a href="http://www.emiliorescigno.it/sommario.htm" target="_parent"><img src="butto17.jpg" width="104" height="51" border="0" /></a>
</body>
</html>config.php
questo è il listato del file config.php (qui ho messo tutte le altre opzioni di verifica: l'invio al mio indirizzo di posta, la verifica sul formato, dimensioni, informazioni immagine, e per evitare la sovrascrittura dei files*/
$upload_dirs = array(
"images" => array(
"dir" =>"uploads/images/",
"name" =>"Images folder",
"password"=>"epofin",),
);
/* modifica questa variabile con la tua email */
$_EMAIL = "[email protected]";switch($_GET["a"]){
case "uploads/images/":
$max_file_size = 5242880; //max file upload size (Mb)
/* Verifichiamo che l'immagine non superi i 5 MB */if($_FILES['img'] > 5242880) {
die("Il peso dell'immagine non deve superare i 5 MB!");
}/* Ottengo le informazioni sull'immagine */
list($width, $height, $type, $attr) = getimagesize($_FILES['img']['tmp_name']);/* Controlliamo che l'immagine siamo GIF JPG o PNG */
if (($type!=1) && ($type!=2) && ($type!=3)) {
die("Formato non accettabile!!");
}/* Controllo che non esista già un'immagine con lo stesso nome */
if(file_exists($_PATH.$_FILES['img']['name'])) {
die("Esiste già un'immagine con lo stesso nome, per favore rinominala e riprova!");
}?>
-
non c'è nessuno che abbia la competenza per aiutarmi? Questo mi sembra un forum di persone in gamba. Saluti e grazie lo stesso