我目前在使用当前使用的网站的移动版本上传文件时出现问题,我认为该问题与移动版本文件位于名为m的文件夹内的public_hmtl文件夹之外的事实有关,这样做是因为m.site.com链接无法正常工作,因为我使用经典的站点文件夹来存储所有媒体,问题从这里开始:
继承人正在使用的道路:
中的文件
用于将img保存到
这是upload.php中代码的一个片段 对于第一行,我使用一个名为$ img的重定向变量,该变量导致经典版本的索引,即
所以
$URL = $img.'photos/users/';
$NewFotoName = "misite_".$usuarioid."_".time().".jpg";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$imagen = $_POST['Imagen'];
if ( isset($_POST['Imagen']) ) {
$image = base64_decode($imagen);
$im = imagecreatefromstring($image);
imagepng($im,$URL.$NewFotoName);
imagedestroy($im);
$query = "UPDATE Utenti SET foto = '$NewFotoName' WHERE id_utente = ".$usuarioid;
$result = $mysqli->query($query);
if(!$result){die($mysqli->error);}
echo "index2.php";
die();
} else {
echo "index2.php";
die();
}
} else {
echo "index2.php";
die();
}
我从它上面的一个文件夹中调用它,名为index2.php,代码如下:
$('.upload-result').on('click', function (ev) {
$uploadCrop.croppie('result', {
type: 'canvas',
size: 'original'
}).then(function (resp) {
$('#imagebase64').val(resp);
var imagen_cortada = $('#imagebase64').val();
var base64image = imagen_cortada;
var parametros = { "Imagen" : base64image };
$.ajax({
data: { "Imagen" : output },
url: 'fnc/upload.php',
method: 'POST', // or GET
success: function(msg)
{
alert("Imagen subida con exito.");
alert(msg);
},
error: function (jqXHR, textStatus, errorThrown)
{
alert("Error al Subir la Imagen.");
alert(errorThrown);
window.location.replace(msg);
}
});
现在当表单被提交时,我得到了一个成功警报但是在"警报(msg);"我收到一条错误
imagepng(path / to / the / file.png):无法打开流;没有这样的文件或 /home/mysite/m/user/fnc/upload.php中的目录
因此文件的名称会保存到数据库中,但文件不会。
我感谢任何建议,请原谅任何拼写错误。
//编辑 我找到了一个工作arround并将subdomaind目录移动到public_html中,不得不学习一点关于.htacces,看来这样我就不会有那些讨厌的permision问题了
答案 0 :(得分:0)
我找到了一个工作arround并将subdomaind目录移到了public_html里面,不得不学习一点关于.htacces,看来这种方式我不会有所有那些讨厌的permision问题,其他的workarrounds发布在类似的线程Vic Seedoubleyew张贴似乎没有为我做的伎俩