2016-03-03 2 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; 
     } 
     } 
    } 
    } 



} 


?> 

Salut, le problème est quand j'essaie de télécharger 1 fichier toute dimension lorsque le téléchargement se termine, montrer l'erreur 500 je pense qu'il y a une erreur dans le code pls pouvez-vous ceck ce code pour erreur?erreur 500 en php lorsque le téléchargement est terminé

ps i ont changé ce paramètre:

post_max_size 64M 
upload_max_filesize 64M 
max_input_time 3000 
max_execution_time 3000 

mais rien est arriver

mise à jour: merci pour la réponse à l'exécution tryed php -l fichier-nom.php et moi avons corrigé l'erreur mais maintenant, quand je télécharge le fichier, j'ai un écran blanc après le téléchargement.

+0

regard dans les journaux d'erreur php –

+0

quelques erreurs: 'if (isset ($ _ FICHIERS ['userfile']) {'; 'si ($ file_ext, $ autorisé)' – fusion3k

Répondre

1

changement

if ($file_ext, $allowed) 

à

if (in_array($file_ext, $allowed)) 

Pour d'autres erreurs, essayez d'exécuter php -l file-name.php vous montrer d'autres choses qui peuvent être mal avec la syntaxe

+0

merci pour la réponse essayé d'exécuter php -l nom-fichier.php et j'ai co détecté l'erreur mais maintenant quand je télécharge le fichier j'ai l'écran blanc après le téléchargement effectué. –

+0

oui, c'est parce que vous n'avez rien qui imprime à l'écran dans ce script. Mais si vous vérifiez l'emplacement nécessaire dans votre système de fichiers, vous devriez voir le fichier téléchargé. Essayez d'échouer quelque chose ou de rediriger vers une autre page qui le fait. – iGbanam

2

Cela ressemble à une erreur de syntaxe.

Modifier cette ligne

if ($file_ext, $allowed){ 

à ceci:

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

Et il exécutera je pense.