move_uploaded_file 不写入服务器,不返回任何内容
move_uploaded_file not writing to server, nor returning anything
我正在尝试将文件和一些文本字段从 HTML 表单存储到我的网络服务器。文字写得非常好,但是图像没有任何反应。我检查了错误,none 出现了。该图像也在电子邮件中收到。
我相信权限也很好 - 它们在 /img/gallery/
和 /img/gallery/data/
.
上完全相同
这是我的 PHP 表格:
<?php
include 'loadImages.php';
require_once('class.phpmailer.php');
$name = $_POST['name'];
$email = $_POST['email'];
$location = $_POST['location'];
$desc = $_POST['desc'];
/**
* PHPMailer simple file upload and send example
*/
$msg = '';
if (array_key_exists('userfile', $_FILES)) {
// First handle the upload
// Don't trust provided filename - same goes for MIME types
// See http://php.net/manual/en/features.file-upload.php#114004 for more thorough upload validation
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name']));
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
// Upload handled successfully
// Now create a message
// This should be somewhere in your include_path
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('gallery@####.co.uk', 'Website');
$mail->addAddress('gallery@####.co.uk');
$mail->Subject = 'Image Submission Recieved';
$mail->msgHTML("<b>Name</b>: $name<br><b>Email</b>: $email<br><b>Location</b>: $location<br><b>Description</b>: $desc");
// Attach the uploaded file
$mail->addAttachment($uploadfile, 'Image');
if (!$mail->send()) {
$msg = "Mailer Error: " . $mail->ErrorInfo;
} else {
$msg = "Your message has been sent.";
}
} else {
$msg = 'Failed to move file to ' . $uploadfile;
}
$date = date('Y-m-d_H-i-s');
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/data/';
$filename = $date.".txt";
$file = fopen($path.$filename, "w") or die("Something went wrong storing your photo information");
fwrite($file, $name . "\n");
fwrite($file, $location . "\n");
fwrite($file, $desc . "\n");
fwrite($file, $email . "\n");
fwrite($file, "Valid: False");
fclose($file);
$name = $_FILES['userfile']['name'];
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/';
$filename = $date . "." . pathinfo($name, PATHINFO_EXTENSION);
$target = $path . $filename;
echo $target;
echo move_uploaded_file( $_FILES['userfile']['tmp_name'], $target);
}
$images = loadImages();
$imageData = LoadImageData();
?>
$_FILES:
1Array ( [userfile] => Array ( [name] => hairy sun.jpg [type] => image/jpeg [tmp_name] => /tmp/phpWweCkX [error] => 0 [size] => 49526 ) )
如果您还需要看其他内容,我会上传。
转移这个,
$date = date('Y-m-d_H-i-s');
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/data/';
$filename = $date.".txt";
$file = fopen($path.$filename, "w") or die("Something went wrong storing your photo information");
fwrite($file, $name . "\n");
fwrite($file, $location . "\n");
fwrite($file, $desc . "\n");
fwrite($file, $email . "\n");
fwrite($file, "Valid: False");
fclose($file);
$name = $_FILES['userfile']['name'];
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/';
$filename = $date . "." . pathinfo($name, PATHINFO_EXTENSION);
$target = $path . $filename;
echo $target;
echo move_uploaded_file( $_FILES['userfile']['tmp_name'], $target);
在此代码之上,
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
然后重试。
您正在将它保存到您的 /tmp 目录,我认为它会在脚本退出时被清理掉。尝试保存到另一个目录。
我正在尝试将文件和一些文本字段从 HTML 表单存储到我的网络服务器。文字写得非常好,但是图像没有任何反应。我检查了错误,none 出现了。该图像也在电子邮件中收到。
我相信权限也很好 - 它们在 /img/gallery/
和 /img/gallery/data/
.
这是我的 PHP 表格:
<?php
include 'loadImages.php';
require_once('class.phpmailer.php');
$name = $_POST['name'];
$email = $_POST['email'];
$location = $_POST['location'];
$desc = $_POST['desc'];
/**
* PHPMailer simple file upload and send example
*/
$msg = '';
if (array_key_exists('userfile', $_FILES)) {
// First handle the upload
// Don't trust provided filename - same goes for MIME types
// See http://php.net/manual/en/features.file-upload.php#114004 for more thorough upload validation
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name']));
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
// Upload handled successfully
// Now create a message
// This should be somewhere in your include_path
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('gallery@####.co.uk', 'Website');
$mail->addAddress('gallery@####.co.uk');
$mail->Subject = 'Image Submission Recieved';
$mail->msgHTML("<b>Name</b>: $name<br><b>Email</b>: $email<br><b>Location</b>: $location<br><b>Description</b>: $desc");
// Attach the uploaded file
$mail->addAttachment($uploadfile, 'Image');
if (!$mail->send()) {
$msg = "Mailer Error: " . $mail->ErrorInfo;
} else {
$msg = "Your message has been sent.";
}
} else {
$msg = 'Failed to move file to ' . $uploadfile;
}
$date = date('Y-m-d_H-i-s');
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/data/';
$filename = $date.".txt";
$file = fopen($path.$filename, "w") or die("Something went wrong storing your photo information");
fwrite($file, $name . "\n");
fwrite($file, $location . "\n");
fwrite($file, $desc . "\n");
fwrite($file, $email . "\n");
fwrite($file, "Valid: False");
fclose($file);
$name = $_FILES['userfile']['name'];
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/';
$filename = $date . "." . pathinfo($name, PATHINFO_EXTENSION);
$target = $path . $filename;
echo $target;
echo move_uploaded_file( $_FILES['userfile']['tmp_name'], $target);
}
$images = loadImages();
$imageData = LoadImageData();
?>
$_FILES:
1Array ( [userfile] => Array ( [name] => hairy sun.jpg [type] => image/jpeg [tmp_name] => /tmp/phpWweCkX [error] => 0 [size] => 49526 ) )
如果您还需要看其他内容,我会上传。
转移这个,
$date = date('Y-m-d_H-i-s');
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/data/';
$filename = $date.".txt";
$file = fopen($path.$filename, "w") or die("Something went wrong storing your photo information");
fwrite($file, $name . "\n");
fwrite($file, $location . "\n");
fwrite($file, $desc . "\n");
fwrite($file, $email . "\n");
fwrite($file, "Valid: False");
fclose($file);
$name = $_FILES['userfile']['name'];
$path = $_SERVER['DOCUMENT_ROOT'].'/img/gallery/';
$filename = $date . "." . pathinfo($name, PATHINFO_EXTENSION);
$target = $path . $filename;
echo $target;
echo move_uploaded_file( $_FILES['userfile']['tmp_name'], $target);
在此代码之上,
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
然后重试。
您正在将它保存到您的 /tmp 目录,我认为它会在脚本退出时被清理掉。尝试保存到另一个目录。