热搜:NVER node 开发 php

php上传图片的url

2024-09-13 14:10:01
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'] 就是图片名
不好使啊,麻烦帮我看看我写的对不对?
<?php
$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 "";
} 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和你有关系吧?