PHP上传多个图像
这段代码过去很有效,现在我不明白为什么它不会上传,我没有收到错误,我也没有收到任何echo或var_转储,就像按钮只刷新页面一样。(为了澄清,还有很多代码在做很多事情,但这就是我问题的原因,因为我用下面的代码将它隔离到另一个项目中,这给了我相同的结果) 它要做的就是创建一个名为“ItemName”的文件夹,然后将图像移动到新的命名文件夹中 提前谢谢你,这个问题已经困扰我好几天了 HTML页面PHP上传多个图像,php,directory,image-uploading,directory-structure,Php,Directory,Image Uploading,Directory Structure,这段代码过去很有效,现在我不明白为什么它不会上传,我没有收到错误,我也没有收到任何echo或var_转储,就像按钮只刷新页面一样。(为了澄清,还有很多代码在做很多事情,但这就是我问题的原因,因为我用下面的代码将它隔离到另一个项目中,这给了我相同的结果) 它要做的就是创建一个名为“ItemName”的文件夹,然后将图像移动到新的命名文件夹中 提前谢谢你,这个问题已经困扰我好几天了 HTML页面 <form id="newsell" enctype="multipart/form-data"
<form id="newsell" enctype="multipart/form-data" method="post">
<input type="text" class="css-input" name="ItemName" value="">
<input name="file[]" type="file" id="file" multiple />
<input type="submit" name="Upload" class="css-input1" value="Upload">
<?php
if ($_POST['Upload']) {
require_once("random.php");
}
?>
random.php
$MyLocation = "MyName"; // this comes from db, for this case just hardcode
$ItemName1 = htmlspecialchars($_POST["ItemName");
$ItemName = strip_tags($ItemName1);
$parentDir = "C:/wamp/www/HOME/uploadimages/".$MyLocation;
echo "Does it exist...." . $parentDir . "/" . $ItemName;
if(!is_dir($parentDir)) { // Check if the parent directory is a directory
echo "Apologies, something has gone wrong.";
RandError(); // POPUP
die();
}
if(!is_writable($parentDir)) { // Check if the parent directory is writeable
echo "Apologies, something has gone wrong.";
RandError(); // POPUP
die();
}
if(mkdir($parentDir . "/" . $ItemName) === false) { // Create the directory
echo "File apparently exists...." . $parentDir . "/" . $ItemName;
ExistingSaleName(); // POPUP
die();
}
// die('Created directory successfully'); // Success point
echo "AFTER INSERTION";
movefiles();
}
function movefiles() {
$MyLocation = "MyName";
echo "In movefiles";
$ItemName1 = htmlspecialchars($_POST["ItemName"]);
$ItemName = strip_tags($ItemName1);
extract($_POST);
if (extract($_POST) === null) { // trying to fault find here, but never returns anyway due to some kind of bug as at one point it was returning a null value
echo "PROBLEM...";
}
$error=array();
$extension=array("jpeg","jpg","png");
$res = ("C:/wamp/www/HOME/uploadimages/". $MyLocation. "/" . $ItemName);
foreach($_FILES["file"]["tmp_name"] as $key=>$tmp_name) {
$file_name=$_FILES["file"]["name"][$key];
$file_tmp=$_FILES["file"]["tmp_name"][$key];
if (!(($_FILES["file"]["type"][$key] == "image/png") || ($_FILES["file"] ["type"][$key] == "image/jpeg") || ($_FILES["file"]["type"][$key] == "image/jpg"))) {
die("Only the .jpg / .jpeg / .png file's were uploaded.");
} else {
echo "SHIT";
}
var_dump($file_tmp);
$ext=pathinfo($file_name,PATHINFO_EXTENSION);
$count;
//check if file exist
if (!file_exists($res . "/" . $file_name)) {
sleep(2);
if (isset($_FILES["file"]["tmp_name"][$key])) {
move_uploaded_file($_FILES["file"]["tmp_name"][$key], $res);
++$count;
if ($count >=5) {
// go_to(); // This goes onto the next function
die ("First 5 images are uploaded, <br/> 5 images maximum.");
}
} else {
echo "It exited HERE...";
}
} else {
ExistingSaleName();
die();
}
}
}
$MyLocation=“MyName”//这来自db,对于这种情况,只需硬代码
$ItemName1=htmlspecialchars($_POST[“ItemName”);
$ItemName=strip_标签($ItemName1);
$parentDir=“C:/wamp/www/HOME/uploadimages/”$MyLocation;
echo“是否存在…”“$parentDir.”/“$ItemName;
如果(!is_dir($parentDir)){//检查父目录是否为目录
echo“抱歉,出了点问题。”;
RandError();//弹出窗口
模具();
}
如果(!is_writeable($parentDir)){//检查父目录是否可写
echo“抱歉,出了点问题。”;
RandError();//弹出窗口
模具();
}
如果(mkdir($parentDir./“$ItemName)==false){//创建目录
echo“文件显然存在…”“$parentDir.”/“$ItemName;
ExistingSaleName();//弹出窗口
模具();
}
//die('Created directory successfully');//成功点
“插入后”回显;
移动文件();
}
函数movefiles(){
$MyLocation=“MyName”;
回显“在移动文件中”;
$ItemName1=htmlspecialchars($_POST[“ItemName”]);
$ItemName=strip_标签($ItemName1);
摘录(元);;
如果(extract($\u POST)==null){//尝试在此处进行故障查找,但由于某种错误,始终不会返回,因为在某一点上它返回了null值
回声“问题…”;
}
$error=array();
$extension=数组(“jpeg”、“jpg”、“png”);
$res=(“C:/wamp/www/HOME/uploadimages/”$MyLocation./”$ItemName);
foreach($\u FILES[“file”][“tmp\u name”]作为$key=>$tmp\u name){
$file\u name=$\u FILES[“file”][“name”][$key];
$file\u tmp=$\u FILES[“file”][“tmp\u name”][$key];
如果(!($_文件[“文件”][“类型”][$key]=“图像/png”)|($_文件[“文件”][“类型”][$key]=“图像/jpeg”)|($_文件[“文件”][“类型”[$key]=“图像/jpg”)){
die(“只上传了.jpg/.jpeg/.png文件。”);
}否则{
呼应“大便”;
}
变量转储($file\u tmp);
$ext=pathinfo($file\u name,pathinfo\u EXTENSION);
$count;
//检查文件是否存在
如果(!file_存在($res./“$file_name)){
睡眠(2);
如果(isset($\u文件[“文件”][“tmp\u名称”][$key])){
移动上传的文件($文件[“文件”][“tmp文件名”][$key],$res);
++$count;
如果($count>=5){
//go_to();//这将转到下一个函数
die(“上传前5张图片,最多
5张图片”);
}
}否则{
回声“它离开这里…”;
}
}否则{
ExistingSaleName();
模具();
}
}
}
我创建了一个简单的代码来上传多个图像。将其更改为您的
<?php
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
$query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
$desired_dir="user_data";
if(empty($errors)==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
}else{ // rename the file if another one exist
$new_dir="$desired_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
mysql_query($query);
}else{
print_r($errors);
}
}
if(empty($error)){
echo "Success";
}
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple/>
<input type="submit"/>