2016-03-03 66 views
-1
<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 'on'); 
if(isset($_FILES['userfile']){ 
$file = $_FILES['userfile']; 

//proprietà del file 

$file_name = $file['name']; 
$file_tmp = $file['tmp_name']; 
$file_size = $file['size']; 
$file_error = $file['error']; 

// come gestire il file 

$file_ext = explode(".",$file_name); 
$file_ext = strtolower(end($file_ext)); 

$allowed = array("txt", "jpg", "csv"); 
// controlli vari 
if ($file_ext, $allowed){ 
    if($file_error === 0){ 
    if($file_size <= 2097152){ 
     print_r($file_size); 
     $file_name_new = uniqid("", true) . "." . $file_ext; 
     $file_destination = "uploads/" . $file_name_new; 

     if(move_uploaded_file($file_tmp, $file_destination)){ 
     echo $file_destination; 
     } 
     } 
    } 
    } 



} 


?> 

嗨,问题是当我尝试上传1个文件上传结束时,我认为这是在代码请一个错误的任何尺寸,显示500错误可你ceck验证码错误?错误500在PHP当上传完成

PS我已经改变这个参数:

post_max_size 64M 
upload_max_filesize 64M 
max_input_time 3000 
max_execution_time 3000 

但没有什么是发生

更新: 感谢所有回复tryed来运行PHP -l文件name.php和我已经改正了错误但现在当我上传完成后,我有白屏的文件。

+0

看在PHP错误日志 –

+0

一些错误:'if(isset($ _ FILES ['userfile']){';'if($ file_ext,$ allowed)' – fusion3k

回答

1

变化

if ($file_ext, $allowed) 

if (in_array($file_ext, $allowed)) 

对于其他错误,请尝试运行php -l file-name.php向您展示一些其他的东西可能是错误的语法

+0

感谢您的回复,试着运行php -l file-name.php,修正了错误,但现在当我上传完文件后,我有白屏。 –

+0

是的,这是因为您没有任何内容在该脚本中打印到屏幕上。但是如果你在你的文件系统中检查了必要的位置,你应该会看到上传的文件。尝试'回声'或重定向到另一个页面。 – iGbanam

2

它看起来像一个语法错误。

改变这一行

if ($file_ext, $allowed){ 

这样:

if (in_array($file_ext, $allowed)) { 

它将执行我的想法。