Maison >développement back-end >tutoriel php >php上传图片的url
用php加mysql做个东西,用选取完图片上传到数据库内的url是绝对路径,查询出来后显示不出来,怎么能让提交的是相对路径如(如:http://192.168.40.10:1500/php/www/pictures/1.jpeg),麻烦解释的详细点,最好有小例子,我是新手,懂的少,谢谢。
上传时将 pictures/1.jpeg 这一点存入数据库就行了。
显示时加上域名
这个我知道,但是我不知道怎么把1.jpg截出来,$_FILES['myFile']['name']这个函数我不会用,‘myfile’和‘name’分别代表啥啊?
上传时将 pictures/1.jpeg 这一点存入数据库就行了。
显示时加上域名
这个我知道,但是我不知道怎么把1.jpg截出来,$_FILES['myFile']['name']这个函数我不会用,‘myfile’和‘name’分别代表啥啊?
上传时将 pictures/1.jpeg 这一点存入数据库就行了。
显示时加上域名
我用获取的图片名,图片名为c:/php/www/pictures/1.jpg;
我想知道用什么方法能让从中获取的文件名pictures/1.jpeg ,我知道应该获取到pictures/1.jpeg 这个文件路径,但是具体怎么得到的我我不会,麻烦能不能说点的详细点,谢谢。
表单控件
提交后 $_FIELS['a']['name'] 就是图片名
表单控件
提交后 $_FIELS['file']['name'] 就是图片名
$_FIELS['file']['name']这个函数我没明白,这函数怎么用啊?file和name分别代表啥?
$picture_cut = $_FILES['picture']['name'];我这么写也没有效果啊。
刚才毛躁了
表单控件
提交后 $_FIELS['a']['name'] 就是图片名
刚才毛躁了
表单控件
提交后 $_FIELS['a']['name'] 就是图片名
不好使啊,麻烦帮我看看我写的对不对?
$id = $_POST['id'];
$barcode = $_POST['barcode'];
$goods_name = $_POST['goods_name'];
$category = $_POST['category'];
$specifications = $_POST['specifications'];
$manufacturers = $_POST['manufacturers'];
$number = $_POST['number'];
$instruction = $_POST['instruction'];
$picture = $_FILES['picture_url']['name'];
$url = "http://172.17.4.96:1500/pictures/";
$picture_url = $url.$picture;
if(!$id || !$barcode || !$goods_name || !$category || !$specifications || !$manufacturers || !$number
|| !$instruction || !$picture_url){
echo 'Empty!';
exit;
}
@ $db = new mysqli('localhost','root','root','ec');
if (!$db)
{
echo 'error';
exit;
}
$query = "insert into goods values('".$id."','".$barcode."','".$goods_name."','".$category."',
'".$specifications."','".$manufacturers."','".$number."','".$instruction."','".$picture_url."')";
$result = $db->query($query);
if($result){
echo "<script>alert('success');window.self.location='insert.php';</script>";
} else {
echo "An error has occurred. The item was not added.";
}
mysql_close($db);
?>
贴出你的表单
刚才毛躁了
表单控件
提交后 $_FIELS['a']['name'] 就是图片名
从控件得到的值不是应该用$a = $_POST['a'];得到吗,既然用了POST方法了,还咋用$_FIELS['a']['name'];啊?
贴出你的表单
不知道你是如何学的 php
不知道你是如何学的 php
我刚学不长时间,我的代码问题多吗?
你的表单没有 enctype="multipart/form-data"
所以不存在文件上传
既然不是文件上传,自然也就没有 $_FIELS 了
即使是不上了 enctype="multipart/form-data"
由于你没有对 $_FILES['picture_url']['tmp_name'] 进行处理,同样和没有上传一样
本帖最后由 xuzuning 于 2013-03-14 13:52:07 编辑你的表单没有 enctype="multipart/form-data"
所以不存在文件上传
既然不是文件上传,自然也就没有 $_FIELS 了
即使是不上了 enctype="multipart/form-data"
由于你没有对 $_FILES['picture_url']['tmp_name'] 进行处……
我明白了,我方法用错了,我不是想把文件上传,只是想通过把图片的url传给数据库,但是现在的问题是上传进去的是一个绝对路径,取出来以后页面显示不出来,我的想法是上传绝对路径(如:c:/php/wwww/pictures/1.jpg)前将url截断只上传picture/1.jpg,然后查询出来前面加上path,这样就可以显示了,但是我不知道怎么把这个绝对路径给截断然后留下我想要的东西。
$s = 'c:/php/wwww/pictures/1.jpg';$p = basename(dirname($s)) .'/'.basename($s);echo $p;pictures/1.jpg
PHP code
?
123
$s = 'c:/php/wwww/pictures/1.jpg'; $p = basename(dirname($s)) .'/'.basename($s); echo $p;pictures/1.jpg
谢谢,好用了。我现在在自学,所以不太系统,您有什么好书或者好的方法能推荐一下吗,谢谢。
PHP code
?
123
$s = 'c:/php/wwww/pictures/1.jpg'; $p = basename(dirname($s)) .'/'.basename($s); echo $p;pictures/1.jpg
CSDN 骨灰级玩家这么多勋章,CSDN和你有关系吧?