PHP上传和检查

PHP上传和检查,php,javascript,Php,Javascript,编辑: 很抱歉给您带来不便,当我回顾代码时,它实际上并没有上载文件,它只是捕获文件的信息并存储在数据库中,稍后用户无法下载,因为任何地方都不存在这样的文件。。。我的问题是,如何将这些代码与move_上传的文件功能集成 我想使用上载框更新/插入文件到数据库,但在此之前,它将检查只有pdf才能上载的文件类型。代码有点问题,我不知道是什么..请帮忙 以下是我的部分更新代码: $id=$rs['id']; $qry = "SELECT a.faillampiran FROM {$CFG->pre

编辑:

很抱歉给您带来不便,当我回顾代码时,它实际上并没有上载文件,它只是捕获文件的信息并存储在数据库中,稍后用户无法下载,因为任何地方都不存在这样的文件。。。我的问题是,如何将这些代码与move_上传的文件功能集成

我想使用上载框更新/插入文件到数据库,但在此之前,它将检查只有pdf才能上载的文件类型。代码有点问题,我不知道是什么..请帮忙

以下是我的部分更新代码:

$id=$rs['id']; 
$qry = "SELECT a.faillampiran FROM {$CFG->prefix}ptk_lampiran a, {$CFG->prefix}ptk b WHERE a.ptkid=$id and b.id=$id";

$sql = get_records_sql($qry);
if($_POST['check']){     
    $ext = pathinfo($faillampiran,PATHINFO_EXTENSION);      
    $err = "Upload Only PDF File. ";    
    if ($ext =='pdf'){          
        $qry="UPDATE {$CFG->prefix}ptk_lampiran SET 
        faillampiran='".$faillampiran."'                
        WHERE ptkid='".$_GET['id']."'";
        $sql=mysql_query($qry);     
        $qry = "SELECT a.faillampiran FROM {$CFG->prefix}ptk_lampiran a, {$CFG->prefix}ptk b
            WHERE b.id = '".$rs[id]."' AND a.ptkid = '".$rs[id]."' ";
        $sql = get_records_sql($qry);
        foreach($sql as $rs){ ?>              
            <?=basename($rs->faillampiran); ?><br>
        <? } 
        ?>              
        <tr><td></td><td></td><td>
        <input type="file" size="50" name="faillampiran" alt="faillampiran" value= "<?=$faillampiran;?>" />
        <input type="submit" name="edit" value="Muat naik fail ini" /><br />
        </td></tr>  
    }       
    else {
        echo "<script>alert('$err')</script>";
    }

} else { 

foreach($sql as $rs){ ?>              
    <?=basename($rs->faillampiran); ?><br>
<? } 

?>
<input type="file" size="50" name="faillampiran" alt="faillampiran" value= "<?=$faillampiran;?>" />
<input type="submit" name="edit" value="Muat naik fail ini" /><br />
<?}
关于代码的混乱,我还是这门语言的初学者


thx

您没有提供您认为它失败的原因的详细信息

然而,使用我的水晶球,我看到您正在检查文件扩展名是否为“.pdf”。我猜您正在查看$\u文件['userfile']['tmp\u name']或$\u文件['userfile']['name']。后者仅在客户机上的扩展为小写时匹配。前者永远不会匹配

它将检查仅为pdf的文件类型

你的代码根本不是这样做的。文件扩展名仅在某些体系结构上按约定与内容匹配


C.

发生了什么?什么不起作用?请添加更多信息。发生了什么或没有发生什么?在这种情况下有什么问题吗?你收到错误信息了吗?如果是的话,你能发布一下吗?其他文件可以上传吗?请提供更多信息…您的编码是正确的,请告诉我您的问题$\u文件['userfile']['tmp\u name']或$\u文件['userfile']['name']之间有什么不同。和pathinfo$faillampiran,pathinfo_BASENAME;我在代码中使用了哪个?1上传后由PHP分配用于临时存储的文件名-不会有mime相关的ext,2上传前客户端系统上的文件名-ext是用户选择的,3我不知道-它是由您的代码/数据生成的