我正在尝试将我的php项目上传到公共服务器.我在创建产品或编辑产品时制作了图片上传文件.它在localhost中工作,但是当我移动到公共服务器时,它不起作用.我认为move_uploaded_file部分不起作用.我该如何更改链接?还是我必须改变什么?当我看到Filzilla时,我可以看到它是'/ www/eshopProject/inventory_images'的远程站点.索引文件是'/ www/eshopProject/storeAdmin'.我必须像这样更改链接吗?我不知道如何更改链接.你可以帮帮我吗?将图像上传到公共服务器不起作用..是否存在安全问题?或者其他的东西?请帮我.谢谢.
--index.php--
$pid = mysql_insert_id();
//Place image in the folder
$newname = "$pid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/product_$newname");
Run Code Online (Sandbox Code Playgroud)
首先检查注释中提到的目录的权限.如果你有shell访问"chmod 777 target_dir"或"chmod 707 target_dir"就足够了.
第二次尝试使用if和file_exists函数调试它(http://php.net/manual/en/function.file-exists.php).
像这样的东西.
$uploadedFile = $_FILES['fileField']['tmp_name'];
$destination = "../inventory_images/product_$newname";
if(file_exists($uploadedFile))
{
echo "file uploaded to temp dir";
}
else
{
echo "file upload failed";
exit();
}
if(move_uploaded_file($uploadedFile, $destination))
{
echo "upload complete";
}
else
{
echo "move_uploaded_file failed";
exit();
}
Run Code Online (Sandbox Code Playgroud)
您也可以通过检查你当前的工作目录文件或DIR常数(http://php.net/manual/en/language.constants.predefined.php).
试试这个.
echo __FILE__;
echo dirname(__FILE__);
echo __DIR__;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14756 次 |
| 最近记录: |