图片上传的老问题! copy($upfile,$path.time().".jpg")//用時間戳記命名 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这样是否可以。利用字符的替换来实现。<?$fn="2002_06_20_10_33_55dfasdfasdsgfasdfdfasdfasdfasdfasdfas34534534df.jpg";echo substr($fn,19,strlen($fn));$str="<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><table width="600" cellspacing="1" cellpadding="2"> <tr> <td>sdfasdf</td> <td>asdf</td> <td>rwerwe</td> <td>ew4rwewerwe</td> <td>werwe</td> <td>wqer</td> </tr> <tr> <td>asdf</td> <td>asdf</td> <td>rewrwer</td> <td> </td> <td>wqr</td> <td>qwerq</td> </tr> <tr> <td>asdf</td> <td>asdf</td> <td>wr</td> <td> </td> <td><a href="http://www.net.cn">qwer</a></td> <td>werqwer</td> </tr> <tr><IMG SRC="upload/2002_06_20_13_13_47034.jpg" WIDTH="800" HEIGHT="1060" BORDER=0 ALT=""> <td>asdf</td> <td>asd</td> <td>werew</td> <td><img src="dfasdfasdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td> <td>wqwer</td> <td>werqwe</td> </tr> <tr><td><img src="dfasdfasdsgfasdfdfasdfasdfasdfasdfas34534534df.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" <td>sdfg</td> <td>asdfg</td> <td>sdfgsdf</td> <td>fhgsdfg</td> <td><img src="051.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td> <td><img src="3074.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td> <td><img src="dfasdfa33333333333sdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td> <td><img src="dfasdfa44444444444sdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td> <td>werwer</td> <td>wqer</td> </tr></table></body></html>";$strcount=strlen($str);$str1=$str;for($j=0;$j<$strcount;$j=$aa+$bb){$aa=strpos(substr($str,$j,$strcount),"<img ")+$j;//$bb=strpos(substr($str,$aa,$strcount),">");$cc=substr($str,$aa,$bb);$dd=explode(" ",$cc);if($aa==$j) break;for($i=0;$i<count($dd);$i++){ $ee=explode("=",$dd[$i]); if($ee[0]=="src") { if(str_replace("\"","",str_replace("'","",$ee[1]))==substr($fn,19,strlen($fn))) { $str2=str_replace(str_replace("\"","",str_replace("'","",$ee[1])),"upload/".$fn,substr($str,$aa,$bb)); $str1=str_replace(substr($str,$aa,$bb),$str2,$str1); } break; }}echo $ff."<br>";}echo $str1;?> to wasy(嘻嘻哈哈)你的在windows下边应该可以用,不过我用LINUX 怎么不行? 真不好意思。一个可能是我的版本高一点。在一些传递上跟以前的版本不同。另一个我没有用过你的那个linux所以不知。 if($photo_b_name!="") { $retval=""; $pt=strrpos($photo_b_name, ".");//从.处分开图片名 $filen=date("d")."_".date("His")."_b";//取主文件名 if ($pt) $retval=substr($photo_b_name, $pt+1, strlen($photo_b_name) - $pt);//取扩展名if((strtolower($retval)!="jpg")&&(strtolower($retval)!="gif")) { echo "<script>"; echo "alert(\"你使用了不合法的图片类型!\");</script>"; exit(); }//判断文件名是否为.jpg和.gif图片$photo_b_name=$filen.".".$retval;//文件名=主文件名.扩展名$temp_img_b="$m_dir/$photo_b_name";//放到目录$result=copy($photo_b,$temp_img_b);//上传文件 现在连这样都不行了://-----------------------aa.php---------------------//<form name="form1" method="post" action="bb.php" enctype="multipart/form-data"> <input type="file" name="filel"> <input type="submit" name="Submit" value="提交">//-----------------------bb.php---------------------//<? $uploadfile="aa/aa.jpg"; echo $file1;//现在老是显示空的?不知道为什么.(linux测试,2000没测试) if(!copy($file1,$uploadfile)) { echo "false"; }?> 是不是有的PHP版本不支持COPY()?我在本机测试可以通过(win2k pro IIS,PHP 4.01,MYSQL)服务器(redhat 7.1)老是出现上传错误,但是并没有显示copy();函数有什么错误,而我在别的UNIX服务器上,则显示正确。大家遇到这样的情况吗? 请问要查询大量的数据到前端显示,应该怎么做比较好? PHP require 找不到文件 wp博客 通过phpmyadmin导入sql文件出错。。。 php采集问题 如何显示每个分类最新的2条信息? mysql备份问题。我晕了。 怎么把数据库中的html代码分离出来显示? 关于ini_set和ini_get 长文章分页问题 php是否支持无组件上传?如果支持,请问方法,还有,有文件大小限制吗? 按一周显示的日历 帮我看看这个错在那里
利用字符的替换来实现。<?
$fn="2002_06_20_10_33_55dfasdfasdsgfasdfdfasdfasdfasdfasdfas34534534df.jpg";
echo substr($fn,19,strlen($fn));
$str="
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>
<table width="600" cellspacing="1" cellpadding="2">
<tr>
<td>sdfasdf</td>
<td>asdf</td>
<td>rwerwe</td>
<td>ew4rwewerwe</td>
<td>werwe</td>
<td>wqer</td>
</tr>
<tr>
<td>asdf</td>
<td>asdf</td>
<td>rewrwer</td>
<td> </td>
<td>wqr</td>
<td>qwerq</td>
</tr>
<tr>
<td>asdf</td>
<td>asdf</td>
<td>wr</td>
<td> </td>
<td><a href="http://www.net.cn">qwer</a></td>
<td>werqwer</td>
</tr>
<tr><IMG SRC="upload/2002_06_20_13_13_47034.jpg" WIDTH="800" HEIGHT="1060" BORDER=0 ALT="">
<td>asdf</td>
<td>asd</td>
<td>werew</td>
<td><img src="dfasdfasdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td>
<td>wqwer</td>
<td>werqwe</td>
</tr>
<tr><td><img src="dfasdfasdsgfasdfdfasdfasdfasdfasdfas34534534df.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300"
<td>sdfg</td>
<td>asdfg</td>
<td>sdfgsdf</td>
<td>fhgsdfg</td>
<td><img src="051.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td>
<td><img src="3074.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td>
<td><img src="dfasdfa33333333333sdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td>
<td><img src="dfasdfa44444444444sdf1.jpg" alt="TESTEERSDLKFJSLK" name="adsfsd" width="200" height="300" border="0" align="left" id="adsfsd"></td>
<td>werwer</td>
<td>wqer</td>
</tr>
</table>
</body>
</html>
";
$strcount=strlen($str);
$str1=$str;
for($j=0;$j<$strcount;$j=$aa+$bb)
{
$aa=strpos(substr($str,$j,$strcount),"<img ")+$j;//
$bb=strpos(substr($str,$aa,$strcount),">");
$cc=substr($str,$aa,$bb);
$dd=explode(" ",$cc);
if($aa==$j)
break;
for($i=0;$i<count($dd);$i++)
{
$ee=explode("=",$dd[$i]);
if($ee[0]=="src")
{
if(str_replace("\"","",str_replace("'","",$ee[1]))==substr($fn,19,strlen($fn)))
{
$str2=str_replace(str_replace("\"","",str_replace("'","",$ee[1])),"upload/".$fn,substr($str,$aa,$bb));
$str1=str_replace(substr($str,$aa,$bb),$str2,$str1);
}
break;
}
}
echo $ff."<br>";
}
echo $str1;
?>
你的在windows下边应该可以用,不过我用LINUX 怎么不行?
{
$retval="";
$pt=strrpos($photo_b_name, ".");//从.处分开图片名
$filen=date("d")."_".date("His")."_b";//取主文件名
if ($pt)
$retval=substr($photo_b_name, $pt+1, strlen($photo_b_name) - $pt);//取扩展名if((strtolower($retval)!="jpg")&&(strtolower($retval)!="gif"))
{
echo "<script>";
echo "alert(\"你使用了不合法的图片类型!\");</script>";
exit();
}//判断文件名是否为.jpg和.gif图片$photo_b_name=$filen.".".$retval;//文件名=主文件名.扩展名
$temp_img_b="$m_dir/$photo_b_name";//放到目录
$result=copy($photo_b,$temp_img_b);//上传文件
//-----------------------aa.php---------------------//
<form name="form1" method="post" action="bb.php" enctype="multipart/form-data">
<input type="file" name="filel">
<input type="submit" name="Submit" value="提交">
//-----------------------bb.php---------------------//
<?
$uploadfile="aa/aa.jpg";
echo $file1;//现在老是显示空的?不知道为什么.(linux测试,2000没测试)
if(!copy($file1,$uploadfile))
{
echo "false";
}
?>
我在本机测试可以通过(win2k pro IIS,PHP 4.01,MYSQL)
服务器(redhat 7.1)老是出现上传错误,但是并没有显示copy();函数有什么错误,而我在别的UNIX服务器上,则显示正确。大家遇到这样的情况吗?