繁体   English   中英

PHP的move_uploaded_file不起作用

[英]php move_uploaded_file not working

通常我会为此简化我的代码,或者只显示给我带来麻烦的部分。 但是在这种情况下,我不知道出了什么问题,所以我将整个内容粘贴到了。抱歉。

好的,因此下面的脚本获取由ajax发送的值,并将其上载到sql数据库中。 完成此操作后,它将图像从一个文件夹移动到另一个文件夹。

整个脚本运行良好,除了“ move_uploaded_file”位外,其他操作均应执行。 因此它正确地执行了sql部分,并且所有会话名称,字符串编辑等都正确。

我已经回显了脚本生成的文件名,它们是正确的。 文件夹也可以读写。 文件夹中存在等待移动的文件。

我想念什么? 为什么move_uploaded_file不起作用? 预先谢谢大家。

-将move_uploaded_file()更改为named(),但仍然无法正常工作-

<?php 

session_start();
unset($_SESSION['reference']);

$name = $_GET['name'];
$category = $_GET['category'];
$subCategory = $_GET['subCategory'];
$date = $_GET['date'];
$address = $_GET['address'];
$city = $_GET['city'];
$state = $_GET['state'];
$host = $_GET['host'];
$info = $_GET['info'];
$adder = $_SESSION['user'];

//turn into array
$array = array();
$array[0]=$name;
$array[1]=$category;
$array[2]=$subCategory;
$array[3]=$date;
$array[4]=$address;
$array[5]=$city;
$array[6]=$state;
$array[7]=$host;
$array[9]=$info;
$array[11]=$adder;


try {

$con = new PDO('mysql:host=localhost;dbname=test');
    //$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $refid=$con->prepare(" SELECT MAX(id) FROM createX "); 
    $refid->execute();
    $id = $refid->fetchColumn();
    $id=$id+1;
    $newDate = str_replace('-', '', $date); 
    $reference = $id.$newDate;
    $array[10]=$reference;
    $array[8] = $_SESSION['imagePath'].$reference.'.'.$_SESSION['imageExt'];

    $insert = $con->prepare(" INSERT INTO createX 
    (name,category,subCategory,date,address,city,state,host,imagePath,info,ref,adder)
        VALUES (?,?,?,?,?,?,?,?,?,?,?,?) ");
    $insert->execute($array);   

    rename( '../tempUploads/'.$_SESSION['imagePath'].$_SESSION['imageExt'] ,
    '../uploads/'.$_SESSION['imagePath'].$reference.'.'.$_SESSION['imageExt'] ); 

}

catch(PDOException $e) { //try
    echo 'error';
//echo 'ERROR: ' . $e->getMessage();
}

$_SESSION['reference'] = $reference;

unset($array);
session_write_close();


?>

move_uploaded_file()仅适用于通过POST上传的文件。 源文件名应来自$_FILES['xxx']['tmp_name'] ,并且相对于用于临时保存已发布文件的目录进行解释。

如果要移动其他文件,请使用rename()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM