首先,上传文件夹为777,我的旧上传脚本有效,因此服务器接受文件。这是一个新的目的地。
我使用krajee bootstrap上传来发送文件。我收到了Jason的回复。错误似乎是移动上传文件。我敢打赌,这是我身边的一个简单错误,但我无法看到它。
<?php
if (empty($_FILES['filer42'])) {
echo json_encode(['error'=>'No files found for upload.']);
// or you can throw an exception
return; // terminate
}
// get the files posted
$images = $_FILES['filer42'];
// a flag to see if everything is ok
$success = null;
// file paths to store
$paths= [];
// get file names
$filenames = $images['name'];
// loop and process files
for($i=0; $i < count($filenames); $i++){
$ext = explode('.', basename($filenames[$i]));
$target = "uploads" . DIRECTORY_SEPARATOR . md5(uniqid()) . "." . array_pop($ext);
if(move_uploaded_file($_FILES["filer42"]["tmp_name"][$i], $target)) {
$success = true;
$paths[] = $target;
} else {
$success = false;
break;
}
}
// check and process based on successful status
if ($success === true) {.
$output = [];
$output = ['uploaded' => $paths];
} elseif ($success === false) {
$output = ['error'=>'Error while uploading images. Contact the system administrator'];
// delete any uploaded files
foreach ($paths as $file) {
unlink($file);
}
} else {
$output = ['error'=>'No files were processed.'];
}
// return a json encoded response for plugin to process successfully
echo json_encode($output);
?>
答案 0 :(得分:0)
我认为字段名称是个问题。由于您使用filer42
获取图片名称并上传时间,因此您使用的是pictures
。
请更改
$_FILES["pictures"]["tmp_name"][$i]
到
$_FILES["filer42"]["tmp_name"][$i]
现在检查,希望它会起作用。如果您仍然遇到问题,请告诉我。
答案 1 :(得分:0)
错误不在此脚本中,而是在帖子中。
我正在使用<input id="filer42" name="filer42" type="file">
但它必须是<input id="filer42" name="filer42[]" type="file" multiple>
因为剧本似乎需要一个arrey。
现在效果很好。