如何在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,我该怎么做