如何在PHP中上载文件
我上传文件时遇到问题,我的代码如下:如何在PHP中上载文件,php,mysql,file,webserver,Php,Mysql,File,Webserver,我上传文件时遇到问题,我的代码如下: if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['DOB']) && isset($_POST['address']) && isset($_POST['phone']) && isset($_FILES['file'])) { # code... $n=mysql_real_esca
if (isset($_POST['name']) && isset($_POST['email']) && isset($_POST['DOB']) && isset($_POST['address']) && isset($_POST['phone']) && isset($_FILES['file'])) {
# code...
$n=mysql_real_escape_string(htmlspecialchars($_POST['name']));
$e=mysql_real_escape_string(htmlspecialchars($_POST['email']));
$dob=mysql_real_escape_string(htmlspecialchars($_POST['DOB']));
$a=mysql_real_escape_string(htmlspecialchars($_POST['address']));
$p=mysql_real_escape_string(htmlspecialchars($_POST['phone']));
$t=time();
$d_of_reg=date('D M Y @ H.i.s', $t);
$cv=$_FILES['file']['name'];
// connect to the db here
mysql_connect('localhost','root','') or die('Please we could not connect.. Try-again!!!');
mysql_select_db('joblessmen')or die('Please we could not connect to our database... Try-again!!!');
$sql="INSERT INTO `users`(`name`, `email`, `DOB`, `address`, `phone number`, `id`, `date_of_reg`) VALUES ('$n','$e','$dob','$a','$p','','$d_of_reg')";
if($sql_run=mysql_query($sql))
{
echo "Thank you for registering. Joblessmen";
}
}
所以我想把文件拿到服务器上,当我echo$\u FILE['FILE']['name']
时,它什么也没告诉我,我该怎么办?我的php_fileinfo中的wamp设置已打开,如有任何帮助,将不胜感激
请这是上传文件的另一部分,这是不工作,我希望它上传一个jpg和文档,docx,pdf文件只有这是我的php代码
if ( isset($_FILES['file']['name']) && isset($_POST['name']) && isset($_POST['email']) && isset($_POST['DOB']) && isset($_POST['address']) && isset($_POST['phone'])) {
# code...
$n=mysql_real_escape_string(htmlspecialchars($_POST['name']));
$e=mysql_real_escape_string(htmlspecialchars($_POST['email']));
$dob=mysql_real_escape_string(htmlspecialchars($_POST['DOB']));
$a=mysql_real_escape_string(htmlspecialchars($_POST['address']));
$p=mysql_real_escape_string(htmlspecialchars($_POST['phone']));
$t=time();
$d_of_reg=date('D M Y @ H.i.s', $t);
//$cv=$_FILES['file']['name'];
/*
function upload_cv_check()
{
// Define some variables
$max_size = 200000;
$files_directory = $_SERVER['DOCUMENT_ROOT'].'/seabird/top-menu/cv';
$file_name = basename($_FILES['file']['name']);
$file_size = filesize($_FILES['file']['tmp_name']);
$file_extension = strrchr($_FILES['file']['name'], '.');
// Available extensions
$extensions = array('.doc', '.pdf','.docx');
// Return false if extension is not allowed
if(!in_array($file_extension, $extensions))
return false;
// Return false if file size is over limit
if($file_size > $max_size)
return false;
echo "file must be 2mb";
// Fast way to rewrite file name, do your own
$final_file_name = strtr($file_name, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$final_file_name = preg_replace('/([^.a-z0-9]+)/i', '-', $final_file_name);
// Move the file to your server
move_uploaded_file($_FILES['my_image']['tmp_name'], $files_directory.$final_file_name);
// Here is the link to your file, adapt it
$file = 'http://'.$_SERVER['HTTP_HOST'].'/my_files_directory/'.$final_file_name;
}
*/
/*
$extension=strtolower(substr($cv, strpos($cv, '.') + 1));
$type=$_FILES['file']['type'];
$size=$_FILES['file']['size'];
$tmp_name=$_FILES['file']['tmp_name'];
$max_size = 300000;
if (isset($cv)) {
if (!empty($cv)) {
if (($extension == 'jpg' || $extension == 'jpeg' ) && $type=='image/jpeg' && $type=='image/jpg' && $size<=$max_size) {
$location='cv/';
if (move_uploaded_file($tmp_name, $location)) {
echo "file has been uploaded";
}
}else {echo "there was an error";}
}else{echo "file must be a image format.";}
# code...
}else{echo "please choose a file now";}
*/
move_uploaded_file($tmp_name, $location);
$tmp_name=$_FILES['file']['tmp_name'];
$location='cv/';
// connect to the db here
mysql_connect('localhost','root','') or die('Please we could not connect.. Try-again!!!');
mysql_select_db('joblessmen')or die('Please we could not connect to our database... Try-again!!!');
$sql="INSERT INTO `users`(`name`, `email`, `DOB`, `address`, `phone number`, `id`, `date_of_reg`) VALUES ('$n','$e','$dob','$a','$p','','$d_of_reg')";
if($sql_run=mysql_query($sql))
{
echo "Thank you for registering. Joblessmen";
//echo $cv=$_FILES['file']['name'];
}
}
if(isset($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{
#代码。。。
$n=mysql\u real\u escape\u字符串(htmlspecialchars($\u POST['name']);
$e=mysql\u real\u escape\u字符串(htmlspecialchars($\u POST['email']);
$dob=mysql\u real\u escape\u字符串(htmlspecialchars($\u POST['dob']);
$a=mysql\u real\u escape\u字符串(htmlspecialchars($\u POST['address']);
$p=mysql\u real\u escape\u字符串(htmlspecialchars($\u POST['phone']);
$t=时间();
$d_of_reg=日期($d M Y@H.i.s',$t);
//$cv=$_文件['file']['name'];
/*
函数上载\u cv\u检查()
{
//定义一些变量
$max_size=200000;
$files\u directory=$\u SERVER['DOCUMENT\u ROOT']./seabird/top menu/cv';
$file_name=basename($_FILES['file']['name']);
$file_size=filesize($_FILES['file']['tmp_name']);
$file_extension=strrchr($_FILES['file']['name'],'.');
//可用扩展
$extensions=array('.doc'、'.pdf'、'.docx');
//如果不允许扩展,则返回false
if(!in_数组($file_扩展名,$extensions))
返回false;
//如果文件大小超过限制,则返回false
如果($file\u size>$max\u size)
返回false;
echo“文件必须为2mb”;
//快速重写文件名的方法,自己做
$final_file_name=strtr($file_name,'192;ÁÁÄÈÊËÌÍ࠻ÙÙÙÙÛÛÛåìýýýýýýýýýýýýýýýýýýýýýýýý;
$final_file_name=preg_replace('/([^.a-z0-9]+)/i','-',$final_file_name);
//将文件移动到服务器
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\目录。$最终文件\名称);
//这是指向您的文件的链接,请修改它
$file='http://'.$\u服务器['http\u主机]./my\u文件\u目录/'.$final\u文件\u名称;
}
*/
/*
$extension=strtolower(substr($cv,strpos($cv,'.')+1));
$type=$_文件['file']['type'];
$size=$_文件['file']['size'];
$tmp_name=$_FILES['file']['tmp_name'];
$max_size=300000;
如果(isset($cv)){
如果(!空($cv)){
如果($extension=='jpg'| |$extension=='jpeg')&&$type=='image/jpeg'&&&type=='image/jpg'&&size
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$file=$\u文件['file']['name'];
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$file=$\u FILES['file']['name'];1)确保您提到了enctype=“multipart/form data”
参数
2) 您可以通过以下方式访问该文件:
$file=$_FILES['file']['name'];
$\u文件['name']['tmp\u name']
将为您提供文件的临时路径
然后,您可以使用下面的函数将文件从临时路径移动到您的文件系统
move_uploaded_file($_FILES['name']['tmp_name'],"Your filesystem path");
1) 确保您已提到enctype=“multipart/form data”
参数
2) 您可以通过以下方式访问该文件:
$file=$_FILES['file']['name'];
$\u文件['name']['tmp\u name']
将为您提供文件的临时路径
然后,您可以使用下面的函数将文件从临时路径移动到您的文件系统
move_uploaded_file($_FILES['name']['tmp_name'],"Your filesystem path");
下面是一个包含多个测试的代码,可以执行您想要的操作:
// Define some variables
$max_size = 200000;
$files_directory = $_SERVER['DOCUMENT_ROOT'].'/my_files_directory/';
$file_name = basename($_FILES['my_image']['name']);
$file_size = filesize($_FILES['my_image']['tmp_name']);
$file_extension = strrchr($_FILES['my_image']['name'], '.');
// Available extensions
$extensions = array('.png', '.gif', '.jpg');
// Return false if extension is not allowed
if(!in_array($file_extension, $extensions))
return false;
// Return false if file size is over limit
if($file_size > $max_size)
return false;
// Fast way to rewrite file name, do your own
$final_file_name = strtr($file_name, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$final_file_name = preg_replace('/([^.a-z0-9]+)/i', '-', $final_file_name);
// Move the file to your server
move_uploaded_file($_FILES['my_image']['tmp_name'], $files_directory.$final_file_name);
// Here is the link to your file, adapt it
$file = 'http://'.$_SERVER['HTTP_HOST'].'/my_files_directory/'.$final_file_name;
此外,在打开表单时,您需要有以下行:
<form method="your_method" action="your_action" enctype="multipart/form-data">
这是一个包含多个测试的代码,可以执行您想要的操作:
// Define some variables
$max_size = 200000;
$files_directory = $_SERVER['DOCUMENT_ROOT'].'/my_files_directory/';
$file_name = basename($_FILES['my_image']['name']);
$file_size = filesize($_FILES['my_image']['tmp_name']);
$file_extension = strrchr($_FILES['my_image']['name'], '.');
// Available extensions
$extensions = array('.png', '.gif', '.jpg');
// Return false if extension is not allowed
if(!in_array($file_extension, $extensions))
return false;
// Return false if file size is over limit
if($file_size > $max_size)
return false;
// Fast way to rewrite file name, do your own
$final_file_name = strtr($file_name, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$final_file_name = preg_replace('/([^.a-z0-9]+)/i', '-', $final_file_name);
// Move the file to your server
move_uploaded_file($_FILES['my_image']['tmp_name'], $files_directory.$final_file_name);
// Here is the link to your file, adapt it
$file = 'http://'.$_SERVER['HTTP_HOST'].'/my_files_directory/'.$final_file_name;
此外,在打开表单时,您需要有以下行:
<form method="your_method" action="your_action" enctype="multipart/form-data">
您的标记是否包含enctype=“multipart/form data”参数?您需要显示表单。需要显示完整的代码,从表单HTML开始,到结束PHP代码…打印($\u文件)获取完整的文件信息,而不考虑所使用的文件对象。如果数组为空,则可能是表单中存在阻止文件发布的错误。在enctype中添加了多部分表单数据?表单方法是否为post?是否设置了操作文件集?是否尝试了$\u FILES['file']['name']
其非$\u文件
其$\u文件
手册:http://www.php.net/manual/en/reserved.variables.files.php
您可以在此处检查您的标记是否包含enctype=“multipart/form data”参数?您需要显示表单。需要显示完整的代码,从表单HTML开始,到结束PHP代码…请打印($\u FILE)获取完整的文件信息,而不考虑所使用的文件对象。如果数组为空,则可能是表单中存在阻止文件发布的错误。在enctype中添加了多部分表单数据?表单方法是否为post?是否设置了操作文件?是否尝试了$\u FILES['FILE']['name']
其非$\u文件
其$\u文件
手册:http://www.php.net/manual/en/reserved.variables.files.php
您可以在此处查看@Pauloscorps如何处理扩展pdf和doc。请在转到服务器文件夹之前…如何处理扩展。请在@Pauloscorps如何处理扩展在进入服务器文件夹之前,请先输入pdf和doc,我该怎么做