PHP。上传.gif文件到服务器

PHP。上传.gif文件到服务器

问题描述:

我的任务需要我让用户将.gif文件扩展名上传到文件夹,并在上传后显示它们。PHP。上传.gif文件到服务器

我得到了表格和处理页面,但我似乎无法让他们工作。我将目录上的权限设置为rwxrwxrwx来测试它。

上传文件代码:

<html> 
    <head> 
<title>Assignment 7 Part II -- Art Gallery</title> 
    </head> 
    <body> 
    <form method="post" action="a7a2.php" enctype="multipart/form-data"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="50000"> 
    Your file: <input type="file" name="uploadFile" /><br /> 
    <input type="submit" value="Upload it"> 
    </form> 
</body> 
</html> 

代码:

<html> 
     <head> 
     <title>Assignment 7 Part II -- Art Gallery Results</title> 
     </head> 
     <body> 

     <?php 
     $uploadDir = 'images/'; 
     $uploadFileDir = $uploadDir . basename($_FILES['uploadFile']['name']);             
     if(isset($_FILES['uploadFile'])) { 
      if($_FILES['uploadFile']['error'] != UPLOAD_ERR_OK || 
      $_FILES['uploadFile']['mime'] != "image/gif") { 
      print "<p>File not uploaded successfully!</p>"; 
      print "<p>Please make sure the file has the correct file extension: .gif</p>"; 
      print "<p><a href='a7p2.php'>Try uploading again</a>"; 
      var_dump($_FILES['uploadFile']['error']); 
      die; 
      } else { 
      move_uploaded_file($_FILES['uploadFile']['name'], $uploadFileDir) or die("Can't move file to $uploadFileDir"); 
      print "<p>Success!</p>"; 
      } 
     } 

     $uploadedFiles = glob("/students/ryan/php/images/*.gif"); 
     if($uploadedFiles != false) { 
      print "<p>Here are pictures from the art gallery: </p>"; 
      foreach($uploadedFiles as $file) { 
      $url = "http://hills.ccsf.edu/~ryan/images/" . substr($file, strrpos($file, '/') + 1); 
      print "<p><img src=\"$url\"></p>"; 
      } 
     } else { 
      print "There are no pictures in the art gallery"; 
     } 
     ?> 

     </body> 
    </html> 

或相同的代码,链接下面的代码:

http://pastebin.com/JNxwy323

+0

你能否详细说明为** **如何这不是加工? – Archimaredes

+0

它一直说文件没有成功上传。请确保文件具有正确的文件扩展名。尝试再次上传 – yan

+0

尝试在整个'$ _FILES ['uploadFile']上执行'var_dump''当您看到设置。看看它包含什么。 – LSerni

它是不是安全靠浏览器告诉你文件的MIME类型。相反,你应该检查文件是否应该是。在这种情况下:

if([email protected]($_FILES['uploadFile']['tmp_name'])) { 
    // file is not a valid GIF image 
} 

您需要使用tmp_name的值,而不是名称为move_uploaded_file应该

move_uploaded_file($_FILES['uploadFile']['tmp_name'], $uploadFileDir) or die("Can't move file to $uploadFileDir"); 

代替$ _FILES [ 'uploadFile']也[ '默'] =“图像/ GIF“){

它应该是$ _FILES [ 'uploadFile'] [ '型']!= ”图像/ GIF“){

+0

Nauto mo ako kupal –