2013-01-23 91 views
-1

我试图上传使用下面的代码的图像,但它表明:无法上传图片

Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\upload3.php on line 57

以下是我对第57行:

if ($file_size <= 0) 
     HandleError('File size outside allowed lower bound'); // Validate its a MIME Images (Take note that not all MIME is the same across different browser, especially when its zip file) 

当我删除了在下面的代码的上面一行,我在屏幕上得到No Session was found.,没有别的东西出现。有人有什么主意吗?

<?php 
#check for session 
if (isset($_POST['PHPSESSID'])) 
    session_id($_POST['PHPSESSID']); 
else if (isset($_GET['PHPSESSID'])) 
    session_id($_GET['PHPSESSID']); 
else 
{ 
    HandleError('No Session was found.'); 
} 

session_start(); 
// Check post_max_size (http://us3.php.net/manual/en/features.file-upload.php#73762) 
$POST_MAX_SIZE = ini_get('post_max_size'); 
$unit = strtoupper(substr($POST_MAX_SIZE, -1)); 
$multiplier = ($unit == 'M' ? 1048576 : ($unit == 'K' ? 1024 : ($unit == 'G' ? 1073741824 : 1))); 

if ((int)$_SERVER['CONTENT_LENGTH'] > $multiplier*(int)$POST_MAX_SIZE && $POST_MAX_SIZE) 
    HandleError('POST exceeded maximum allowed size.'); 

// Settings 
$save_path = getcwd() . '/pictures/'; // The path were we will save the file (getcwd() may not be reliable and should be tested in your environment) 
$upload_name = 'file'; // change this accordingly 
$max_file_size_in_bytes = 2097152; // 2MB in bytes 
$whitelist = array('jpg', 'png', 'gif', 'jpeg'); // Allowed file extensions 
$backlist = array('php', 'php3', 'php4', 'phtml','exe'); // Restrict file extensions 
$valid_chars_regex = 'A-Za-z0-9_-\s '; // Characters allowed in the file name (in a Regular Expression format) 

// Other variables  
$MAX_FILENAME_LENGTH = 260; 
$file_name = ''; 
$file_extension = ''; 
$uploadErrors = array(
    0=>'There is no error, the file uploaded with success', 
    1=>'The uploaded file exceeds the upload_max_filesize directive in php.ini', 
    2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form', 
    3=>'The uploaded file was only partially uploaded', 
    4=>'No file was uploaded', 
    6=>'Missing a temporary folder' 
); 

// Validate the upload 
if (!isset($_FILES[$upload_name])) 
    HandleError('No upload found in \$_FILES for ' . $upload_name); 
else if (isset($_FILES[$upload_name]['error']) && $_FILES[$upload_name]['error'] != 0) 
    HandleError($uploadErrors[$_FILES[$upload_name]['error']]); 
else if (!isset($_FILES[$upload_name]['tmp_name']) || [email protected]_uploaded_file($_FILES[$upload_name]['tmp_name'])) 
    HandleError('Upload failed is_uploaded_file test.'); 
else if (!isset($_FILES[$upload_name]['name'])) 
    HandleError('File has no name.'); 

// Validate the file size (Warning: the largest files supported by this code is 2MB) 
$file_size = @filesize($_FILES[$upload_name]['tmp_name']); 
if (!$file_size || $file_size > $max_file_size_in_bytes) 
    HandleError('File exceeds the maximum allowed size'); 

if ($file_size &amp;lt;= 0) 
    HandleError('File size outside allowed lower bound'); // Validate its a MIME Images (Take note that not all MIME is the same across different browser, especially when its zip file) 
if(!eregi('image/', $_FILES[$upload_name]['type'])) 
    HandleError('Please upload a valid file!'); // Validate that it is an image 

$imageinfo = getimagesize($_FILES[$upload_name]['tmp_name']); 
if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png' && isset($imageinfo)) 
    HandleError('Sorry, we only accept GIF and JPEG images'); 

// Validate file name (for our purposes we'll just remove invalid characters) 
$file_name = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', '', strtolower(basename($_FILES[$upload_name]['name']))); 
if (strlen($file_name) == 0 || strlen($file_name) > $MAX_FILENAME_LENGTH) 
    HandleError('Invalid file name'); 

// Validate that we won't over-write an existing file 
if (file_exists($save_path . $file_name)) 
    HandleError('File with this name already exists'); 

// Validate file extension 
if(!in_array(end(explode('.', $file_name)), $whitelist)) 
    HandleError('Invalid file extension'); 
if(in_array(end(explode('.', $file_name)), $backlist)) 
    HandleError('Invalid file extension'); 

// Rename the file to be saved 
$file_name = md5($file_name. time()); 

// Verify! Upload the file 
if ([email protected]_uploaded_file($_FILES[$upload_name]['tmp_name'], $save_path.$file_name)) 
    HandleError('File could not be saved.'); 

exit(0); 

/* Handles the error output. */ 
function HandleError($message) { 
    echo $message; 
    exit(0); 
} 

?> 
<form action="" method="post" enctype="multipart/form-data"> 
     <label for="file">Filename:</label> 
     <input type="file" name="file" id="file"><br> 
     <input type="submit" name="submit" value="Submit"> 
    </form> 
+4

复制和粘贴代码,特别是从网站无法正常显示的源代码,没有它是如何工作的基本知识,只能带来灾难。 –

回答

5

应该<=&amp;lt;=

+0

尝试过,但仍然是相同的错误 – Haymi

+0

@Haymi使用此修复程序,更新您的脚本,将其上传到服务器,检查它已在服务器上更改并再次检查! – powtac

+0

我的坏它现在说没有会话被发现 – Haymi