2016-07-14 33 views
1

我想上传文件和发送文件作为附件和下载文件有附件上传的文件被移动到文件夹名称温度。我已经给了chmod权限。但该文件无法移至上传的文件夹。无法上传的文件移动到在线服务器在PHP

下面是代码

<html> 
<head> 
<title> Sending Email </title> 
</head> 
<body> 
<?php 
session_start(); 
// Read POST request params into global vars 
include_once "db.php"; 

$name1=mysql_real_escape_string(stripslashes($_POST['name1'])); 
$subject1=mysql_real_escape_string(stripslashes($_POST['subject1'])); 
$email1=$_POST['email1']; 
$phone=$_POST['phone']; 
$username=mysql_real_escape_string($_SESSION['sess_user4']); 
    $to = "[email protected]"; 
$from=$_POST['email1']; 
$fileatt  = $_FILES['fileatt']['tmp_name']; 
$fileatt_type = $_FILES['fileatt']['type']; 
$fileatt_name = mysql_real_escape_string($_FILES['fileatt']['name']); 
$fileatt_size = $_FILES['fileatt']['size']; 
$aa=filesize($fileatt); 
$headers = "From: $from"; 
if (is_uploaded_file($fileatt)) { 
    // Read the file to be attached ('rb' = read binary) 
$name1=mysql_real_escape_string(stripslashes($_POST['name1'])); 
    $file = fopen($fileatt,'rw'); 
    $content = fread($file,filesize($fileatt)); 
chmod("temp/", 0777); 
fclose($file); 
$message="Name:$name1\n\n 
      Email:$email1\n 
      Subject:$subject1\n 
      Phone No:$phone"; 
    // Generate a boundary string 
    $semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 


    // Add the headers for a file attachment 
    $headers .= "\nMIME-Version: 1.0\n" . 
       "Content-Type: multipart/mixed;\n" . 
       " boundary=\"{$mime_boundary}\""; 

    // Add a multipart boundary above the plain message 
    $message = "This is a multi-part message in MIME format.\n\n" . 
      "--{$mime_boundary}\n" . 
      "Content-Type: text/html; charset=\"iso-8859-1\"\n" . 
      "Content-Transfer-Encoding: 7bit\n\n" . 
      stripslashes($message). "\n\n"; 

    // Base64 encode the file data 
    $content = chunk_split(base64_encode($content)); 

    // Add file attachment to the message 
    $message .= "--{$mime_boundary}\n" . 
       "Content-Type: {$fileatt_type};\n" . 
       " name=\"{$fileatt_name}\"\n" . 
       //"Content-Disposition: attachment;\n" . 
       //" filename=\"{$fileatt_name}\"\n" . 
       "Content-Transfer-Encoding: base64\n\n" . 
       $content . "\n\n" . 
       "--{$mime_boundary}--\n"; 

} 

// Send the message 
$ok = @mail($to, $subject, $message, $headers); 
if ($ok) { 
    echo "<script>window.open('display.php','_self')</script>"; 
} else { 
    echo "<p>Mail could not be sent. Sorry!</p>"; 
} 
move_uploaded_file($_FILES["fileatt"]["tmp_name"],'temp/'.basename($_FILES['fileatt']['name'])); 
$query = "INSERT INTO register (name,type,size,content,name1,email1,subject1,phone,username) VALUES ('$fileatt_name','$fileatt_type','$fileatt_size','$content','$name1','$email1','$subject1','$phone','$username')"; 

mysql_query($query) or die('Error, query failed'); 
?> 
</body> 
</html> 
+0

乔恩也可能是一个好主意,'乔敦 - R的yourusername:WWW-数据/路径/到folder' –

+0

那么_are_文件夹的权限介入/? – arkascha

+0

我想下载上传的文件并查看内容。我需要的读,写权限,上传的文件 – user6582683

回答

0

尝试回声$ _FILES [ “fileatt”] [ “tmp_name的值”], '温度/'。基本名($ _ FILES [ 'fileatt'] [ '名'] ));

,看看是否如预期得到的路径。

+0

这不是一个答案。它应该是一个评论。 – arkascha

+0

它给出了搭配chmod – user6582683

+0

这应该是一个评论,但我需要为50个代表处点错误。你得到什么样的错误? – Michael