使用下面的代码我通过html页面上的表单获取图像,在其中进行一些切割并添加另一个图像,它工作得很好。
我在html表单中获得的图像名称中遇到特殊字符问题...
简而言之,在您上传,裁剪图片,移动图片等之前,我必须处理他们的名字......删除空格,删除重音等。
我尝试使用某些功能但没有成功..有人可以帮忙吗?
这是我的代码:
<?php
require( "./lib/WideImage.php");
// Example of accessing data for a newly uploaded file
$fileName = $_FILES["uploaded_file"]["name"];
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"];
// Path and file name
$pathAndName = "cartelas/cart".$fileName;
// Run the move_uploaded_file() function here
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
// Evaluate the value returned from the function if needed
$image = WideImage::load($pathAndName);
$unh = WideImage::load("unh11.png");
$crop1 = $image->crop("25", "50", 111, 132);
$out1 = $crop1->merge($unh,'middle','middle');
$pathAndName1 = "unha-1-".$fileName;
$crop1->saveToFile('./cartelas/estampa'.$pathAndName1);
$out1->saveToFile('./cartelas/'.$pathAndName1);
echo "Imagens geradas:<BR>";
echo "<img src=./cartelas/estampa$pathAndName1><img src=./cartelas/$pathAndName1>";
?>
谢谢!
答案 0 :(得分:0)
如果您想在php端执行此操作,您可以使用文件名执行任何操作。如果您不必具有完全相同的名称,则可以使用rawurlencode()或base64_encode();甚至从名称的md5()哈希。这应该可以解决奇怪的名字或特殊字符的问题。
如果你需要存储所有这些文件,你可以$newfilename = md5($filename) . '_' . time();
,这样它们就是唯一的。您还可以添加用户ID或类似内容。
答案 1 :(得分:0)
imclickingmaniac如果这样做,它将失去扩展名!所以做...
<?php
$ext=pathinfo($_FILES["file1"]["name"], PATHINFO_EXTENSION);
$fileName=md5($fileName);
$fileName="$fileName.$ext";
?>