Home >Backend Development >PHP Tutorial >php上传图片的url

php上传图片的url

WBOY
WBOYOriginal
2016-06-23 14:02:59846browse

用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'];啊?

贴出你的表单










































GoodsID:

Barcode:

GoodsName:

Category:

Specofocations:

Manufacturers:

Numbers:

Instruction:

Picture:




不知道你是如何学的 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和你有关系吧?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn