pdf和word文件在php上传

时间:2015-12-10 09:55:42

标签: php

在这里,我试图在php中上传jpeg,pdf,png和word文件格式。但我无法上传pdf,png和word文件格式。但我已成功上传jpeg文件格式。所以这是我试过的代码。请帮助编辑此代码以上传其他文件格式,而不是jpeg文件格式。

#lectura de datos
topo.msg=read.csv("MSG_DEM.txt",sep=",",header=FALSE)
colnames(topo.msg) <- c("topoMSG","longitud","latitud")

topo.rams=read.csv("topografia-rams.txt",sep=",",header=TRUE)

# número de estaciones a tratar
puntos.rams=dim(topo.rams)[1]
puntos.msg=dim(topo.msg)[1]

# Localización del punto de MSG más próximo a la estación.
# Se calcula la distancia a partir de las coordenadas lat-lon

topo.temp=data.frame()

for(i in 1:puntos.rams)
{
  for(j in 1:puntos.msg) 
  {
  dlon<-topo.rams$longitud[i]-topo.msg$longitud

  if ( dlon < 0.5 && dlat < 0.5) {

    dlat<-topo.rams$latitud[i]-topo.msg$latitud

    if ( dlat < 0.5) {
       n1<-n1+1
       distancia=sqrt(dlon*dlon+dlat*dlat)

      }
    }
  indexj=which.min(distancia)
  }

  topo.msg$topo[indexj] = topo.rams$topo[i]

}

2 个答案:

答案 0 :(得分:0)

尝试改变:

$_FILES['file']['type']=='pdf/pdf'

为:

$_FILES['file']['type']=='application/pdf'

用于doc类型:

$_FILES['file']['type']=='application/msword'

for docx:

$_FILES['file']['type']=='application/vnd.openxmlformats-officedocument.wordprocessingml.document'
  • 注意: 还要检查您尝试上传的文件的文件大小是否大于允许的文件大小。

答案 1 :(得分:0)

  1. PDF文档有不同的MIME类型:application/pdf,您应该使用它。
  2. Microsoft Word文档MIME类型application/msword不在您允许的mime类型列表中,因此无法通过您的支票。
  3. 您的大小限制为200kib,大约是195kb,可能您的文档大于此(非常低)限制。
  4. 提高本地文件限制后 - 检查php.ini中的upload_max_filesize设置,因为它是下一个大小限制边界,你可能会坚持下去。
  5. 除此之外,您的代码在MIME类型检查条件中存在逻辑问题,因为您没有将MIME检查分组为单独的逻辑值。您的情况实际上是:if (a OR b OR c AND d)而{应为if ((a OR b OR c) AND d)

    将此代码重写为:

    会更好
    $allowed_mime_types = array('image/png','image/jpeg','application/pdf','application/msword');
    $size_limit = 200000;
    if ((in_array($_FILES['file']['type'], $allowed_mime_types)) && ($_FILES['file']['size'] < $size_limit)) { ... }