我有一个小问题。 我有一个图像的颜色自定义代码,我使用RewriteRule缩短它:
RewriteRule ^cc-(.*?)-(.*?)\.png$ cc.php?col1=$1&col2=$2 [L]
当我输入localhost / Gen / cc-1122ff-ffffff.png时,它通常会为我打开。 但是,当我想用PHP向这个生成的图片添加文本时,我使用了另一个RewriteRule:
RewriteRule ^sig,(.*?),(.*?),(.*?),(.*?),([^,]+),(.*?),([^,]+)\.png$ test.php?nam=$6&font=$5.ttf&bg=$7.png&gn=$1&badg=$2&typ=$3&itm=$4 [L]
我转到此链接:localhost / Gen / sig,y,y,mem,no,Pixel,test,cc-1122ff-ffffff.png 我收到这个错误:
Warning: imagecreatefrompng(cc-1122ff-ffffff.png): failed to open stream: No such file or directory in D:\Xampp\htdocs\Gen\test.php on line 31
第二个RewriteRule通常有效,例如localhost / Gen / sig,y,y,mem,no,Pixel,test,white.png 第二个RewriteRule不适用于第一个RewriteRule。为什么呢?
答案 0 :(得分:1)
imagecreatefrompng
不会发出HTTP请求(如cc-1122ff-ffffff.png
);它将其视为文件路径。
如果您将网址设为绝对网址,例如localhost/Gen/sig,y,y,mem,no,Pixel,test,http%3A%2F%2Flocalhost%2FGen%2Fcc-1122ff-ffffff.png
,则imagecreatefrompng会将其视为网址,而不是文件路径。