ciao ragazzi è da ieri che sto scrivendo una classe per gli uploads solo che questa mi dà errore:
il primo è che se lascio ilform vuoto mi dice estensione proibita,
il secondo è che mi dice dimensione file superata!
la classe è questa:
Codice PHP:
<?
/*
+------------------------------------------------------------------+
|                                                                  |
| ================================================================ |
| Name: pwm_uploads v 1.1 beta                                     |
| ================================================================ |
| Author: Dimischiavone                                            |
| ================================================================ |
| Email: [email]webmaster@portalewebmasters.com[/email]                           |
| ================================================================ |
| Start Date: 04-11-20005 - 12:51 GMT                              |
| ================================================================ |
| End Date: ??unknown                                                |
| ================================================================ |
| Made in: Italy                                                   |
| ================================================================ |
| File id: upload.class                                            |
| ================================================================ |
| License type: This software is relased under the GNU License     |
| you can modify and redistribute it under the terms of GNU        |
| license! Important: you cannot remove the original copyright     |
| if you'll do it you may be persecuted1                           |
| If you retain this script is good put my banner in your site     |
| you can find ite visiting my site [url]www.portalewebmasters.com[/url]!     |
| Enjoy ;)                                                         |
| ================================================================ |
|                                                                  |
+------------------------------------------------------------------+
*/
//I write all in english to let all people know
//An information before,i'm italian so if i'm not very clear in my speaking is for this reason! ;)
//Another thing for not italian users: you can translate the template or the form
//Because i enclose comments that translate italian parts to english i think it's so easy
//Now we set that the class can't have directly accesses 
if (!defined("pwm_uploads"))
{
die(
"[b]<h3><center>You can't access this file directly!</h3></center>[/b]");
}
//Let's set global vars so they can work properly with previous versions of php
if(!isset($_FILES)) $_FILES $HTTP_POST_FILES;
if(!isset(
$_SERVER)) $_SERVER $HTTP_SERVER_VARS;
if(!isset(
$_POST)) $HTTP_POST_VARS;
if(!isset(
$_GET)) $HTTP_GET_VARS;
//Ok now let's build the class!
class upload

//start setting all vars i don't explain all functions and vars
var $version "1.1 Beta";
var 
$author "Dimischiavone";
//Set the directory of your Uploads you may create it before if you don't do this you may have see errors!
var $up_dir 'uploads';
//Put here the url of your site even if you use a webserver offline localhost! 
var $site_url 'http://www.portalewebmasters.com';
var 
$upload_dir '$this->site_url/$this->up_dir';
//variables of file: file temporary name so the name that the server
//Assign to moved file and the second var contain the original name of the file
//That the client upload
//This array will contain the specifics of client input
var $files = array('name' => '','tmp_name' => '','size' => '','extension' => '''name_changed' => '');
//If you retain to use other file extension continue the array and delete the extension that you don't wanna use!
var $allowed_extensions = array('jpeg','jpg','bmp','gif','png','zip','txt','rtf','rar','wav','mpeg','mpg','mp4','mp3','php','html','htm');
//Set the max file size modify it if you retain one thing only about this you cannot use size bigger than that setted in the php.ini
//For more information create a file php and get the phpinfo(); information! Default size 3 MB!
var $file_max_size '3127728';
//Var default value void we set it ahead
var $file_dir '';
//Ok let's start make functions first is the construct
//So begin there i don't write comments because i suppose that at this
//Point you can understand without me the functions because you know the variables we wrote before
function upload()
{
$this->files['name'] = $_FILES['file']['name'];
$this->files['tmp_name'] = $_FILES['file']['tmp_name'];
$this->files['name_changed'] = $_POST['name'];
if (
$this->if_form_is_void() == FALSE)
{
die(
'Errore: non hai riempito il form con nessun parametro!');
}
elseif (
$this->check_if_file_exists() == TRUE)
{
die(
'Il file che vorresti caricare è già presente sul nostro server!');
}
elseif (
$this->validate_extension() == FALSE)
{
die(
"L'estensione usata é proibita!");
}
elseif (
$this->validate_size() == FALSE)
{
die(
'Il file che stai cercando di caricare supera la dimensione limite di $this->max_file_size byte,oppure non hai selezionato il file da caricare!');
}
if (
$this->files['name_changed'] == NULL)
{
$this->file_dir "$this->upload_dir/$this->files['name'].$this->file['extension']";
$upload move_uploaded_file($this->files['tmp_name'], $file_dir);
}
else
{
$this->file_dir "$this->upload_dir/$this->files['name_changed'].$this->extension";
$upload move_uploaded_file($this->files['tmp_name'], $file_dir);
}
}
function 
validate_size()
{
if ((
$this->files['size'] == 0) or ($this->files['size'] > $this->max_file_size))
{
return 
FALSE;
}
else
{
return 
TRUE;
}
}
function 
validate_extension()
{
$this->files['extension'] = strtolower(end(explode('.'$_FILES['file']['name'])));
if (
in_array($this->files['extension'], $this->allowed_extensions) == FALSE)
{
return 
FALSE;  
}
else
{
return 
TRUE;  
}
}
function 
check_if_file_exists()
{
if (
file_exists("$this->upload_dir/$this->files['name'].$this->extension") == FALSE or file_exists("$this->upload_dir/$this->files['name_changed'].$this->extension") == FALSE)
{
return 
FALSE;
}
else
{
return 
TRUE;
}
}
function 
if_form_is_void()
{
if (!isset(
$_FILES['file']))
{
return 
FALSE;
}
else
{
return 
TRUE;
}
}
//end of the class
}
?>
il file che usa la classe è questo:
Codice PHP:
<?
define
("pwm_uploads"TRUE);
include_once(
"upload.class.php");
$upload = new upload();
$upload->upload();
?>
ora se gentilmente qualcuno ha gli occhi più riposati dei miei mi potrebbe dire se c'è qualche errorino che non ho notato?grazie in anticipo!