0

当我使用 FormIt 提交表单时,会出现此错误:

解析错误:语法错误,第 6 行 /public_html/sitename/core/cache/includes/elements/modsnippet/39.include.cache.php 中的意外 '$ext_array' (T_VARIABLE)

我使用的代码:

<?php
// initialize output;
$output = true;
  
// valid extensions
$ext_array = array('pdf', 'txt', 'doc', 'docx', 'rtf');
  
// create unique path for this form submission
$uploadpath = 'assets/form-uploads/';
  
// Unique file creation 
 function createUploadFilename($currentPath,$currentFilename) {
       
      // Create unique filename
      if(file_exists($currentPath . $currentFilename)) {
 
              $i = 0;
               
              do {
                $nF =  $i . $currentFilename;
                $i++;
            
              } while (file_exists($currentPath . $nF));
      }
       
      if(isset($nF)) {
          $newFilename = $currentPath . $nF;
           
      } else {
           
          $newFilename = $currentPath . $currentFilename;
      }
      
     return $newFilename;
 }
  
// get full path to unique folder
$target_path = $modx->config['base_path'] . $uploadpath;
$modx->log(modX::LOG_LEVEL_ERROR, 'Target path: ' . $target_path );
 
// get uploaded file names:
$submittedfiles = array_keys($_FILES);
  
// loop through files
$countFiles = 1;
foreach ($submittedfiles as $sf) {
  
    // Get Filename and make sure its good.
    $filename = basename( $_FILES[$sf]['name'] );
    $modx->log(modX::LOG_LEVEL_ERROR, 'Filename: ' . $filename);
     
    // Get file's extension
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    $ext = mb_strtolower($ext); // case insensitive
    $modx->log(modX::LOG_LEVEL_ERROR, 'Extension: ' . $ext );
  
    // is the file name empty (no file uploaded)
    if($filename != '') {
          
        // is this the right type of file?
        if(in_array($ext, $ext_array)) {
      
            // clean up filename
            $filename = $modx->resource->cleanAlias($filename);
            $modx->log(modX::LOG_LEVEL_ERROR, 'Cleaned file: ' . $filename );
             
            $filename = date("Y-d-m_") . $filename; // add date
             
            // create directory to move file into if it doesn't exist
           if(!file_exists($target_path)) {
               mkdir($target_path, 0755, true);
                
           }
            
            // Create unique filename
            $myTarget = createUploadFilename($target_path,$filename);
            $modx->log(modX::LOG_LEVEL_ERROR, 'Clean and unique filename: ' . $myTarget );
 
            // is the file moved to the proper folder successfully?
            if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) {
                // set a new placeholder with the new full path (if you need it in subsequent hooks)
                $modx->setPlaceholder('fi.bestand' . $countFiles,  $modx->getOption('site_url') . $uploadpath . $filename);
                 
                $modx->log(modX::LOG_LEVEL_ERROR, 'Placeholder set: ' . 'fi.bestand' . $countFiles);
                // set the permissions on the file
                if (!chmod($myTarget, 0644)) { /*some debug function*/ }
                  
            } else {
                // File not uploaded
                 $modx->log(modX::LOG_LEVEL_ERROR, 'Bestand kon niet worden geupload!' );
                $errorMsg = 'There was a problem uploading the file.';
                $hook->addError($sf, $errorMsg);
                $output = false; // generate submission error
            }
          
        } else {
            // File type not allowed
             $modx->log(modX::LOG_LEVEL_ERROR, 'Bestandtype niet toegestaan!');
            $errorMsg = 'Type of file not allowed.';
            $hook->addError($sf, $errorMsg);
            $output = false; // generate submission error
        }
      
    // if no file, don't error, but return blank
    } else {
        $hook->setValue($sf, '');
    }
$countFiles++; 
}
$modx->log(modX::LOG_LEVEL_ERROR, 'Continue? ' . $output);
 
$hook->setValue($sf, '');
return $output;
return;

请帮忙!提前致谢!

4

0 回答 0