2017-10-20 5 views
-1

Je souhaite vérifier si un fichier a été sélectionné pour le téléchargement lors de la soumission de mon formulaire d'enregistrement d'édition. Actuellement, cela ne fonctionne pas car il écrase le chemin de fichier en cours avec un enregistrement vide au lieu de ne rien faire. J'ai essayé de chercher d'autres questions à ce sujet, mais aucune des réponses ne m'aide.Vérifier si un fichier a été sélectionné pour le téléchargement

if($_FILES['healthandsafetyupload']['name'] != "") { 


//H&S Policy File Upload 
    if (count($_FILES['healthandsafetyupload']['name']) > 0) { 
     $hsInt = count($_FILES['healthandsafetyupload']['name']); 

    //Loop through each file 
    for ($i = 0; $i < count($_FILES['healthandsafetyupload']['name']); $i++) { 
     //Get the temp file path 
     $tmpFilePath = $_FILES['healthandsafetyupload']['tmp_name'][$i]; 

     //Make sure we have a filepath 
     if ($tmpFilePath != "") { 

      //save the filename 
      $shortname = $_FILES['healthandsafetyupload']['name'][$i]; 
      $fileExt = get_extension($shortname); 


      //save the url and the file 
      $hasfilePath = "uploads/has_" . random_string(14) . "." . $fileExt; 

      //Upload the file into the temp dir 
      move_uploaded_file($tmpFilePath, $hasfilePath); 

      } 
     } 
    } 
} 

$sql1 = "UPDATE `subcontractor_qs` SET 
healthandsafetyupload = '" . mysql_real_escape_string($hasfilePath) . "' WHERE subcon_id = $subcon_id"; 
$query1 = mysql_query($sql1) or die(mysql_error()); 
+2

double possible de [Comment tester si un utilisateur a sélectionné un fichier à télécharger?] (Https://stackoverflow.com/questions/2958167/how-to-test-if-a-user-has -selected-a-file-to-upload) – Thielicious

+0

Aucune de ces réponses ne résout mon problème. – Ross

+0

Votre clause IF est correcte, c'est juste votre requête de mise à jour qui est en dehors de celle-ci, donc elle est déclenchée même si aucun fichier n'est sélectionné –

Répondre

0

Cette résolu le problème pour moi.

if ($hasfilePath != "") { 
    $sql1 = "UPDATE `subcontractor_qs` SET 
    healthandsafetyupload = '" . mysql_real_escape_string($hasfilePath) . "' WHERE subcon_id = $subcon_id"; 
    $query1 = mysql_query($sql1) or die(mysql_error()); 
} 
0
if($_FILES['image']['size']==0 && $_FILES['image']['error']==0){ 
    //Your code 
} 
+0

Merci, mais cela ne fonctionne pas. – Ross