$val) { $md5 = md5($val); if ($key != $md5) { $stat = "FAILED"; echo "server:err ".$md5." != ".$key."\n"; } $length += strlen($key) + strlen($val); $ret .= $key."(".strlen($key).") "; } $ret .= "] ["; foreach ($_FILES as $k0 => $val) { $error = $val["error"]; if ($error == UPLOAD_ERR_OK) { $tmp_name = $val["tmp_name"]; $name = $val["name"]; $datafile = "/tmp/test.go"; move_uploaded_file($tmp_name, $datafile); $md5 = md5_file($datafile); if ($k0 != $md5) { $stat = "FAILED"; echo "server:err ".$md5." != ".$key."\n"; } $length += strlen($k0) + filesize($datafile); unlink($datafile); $ret .= $k0."(".strlen($k0).") "; } else{ $stat = "FAILED"; echo "server:file err ".file_upload_error_message($error)."\n"; } } $ret .= "]"; echo "server:got data length " .$length."\n"; } echo "-{$stat}-POST(".count($_POST).") FILE(".count($_FILES).")\n"; function file_upload_error_message($error_code) { switch ($error_code) { case UPLOAD_ERR_INI_SIZE: return 'The uploaded file exceeds the upload_max_filesize directive in php.ini'; case UPLOAD_ERR_FORM_SIZE: return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'; case UPLOAD_ERR_PARTIAL: return 'The uploaded file was only partially uploaded'; case UPLOAD_ERR_NO_FILE: return 'No file was uploaded'; case UPLOAD_ERR_NO_TMP_DIR: return 'Missing a temporary folder'; case UPLOAD_ERR_CANT_WRITE: return 'Failed to write file to disk'; case UPLOAD_ERR_EXTENSION: return 'File upload stopped by extension'; default: return 'Unknown upload error'; } }