如何在php表单文件上载中从文件名中删除特殊字符,如撇号/引号
我在上传文件名为vikas的photo.jpg时遇到问题。我必须使用php脚本上传文件名(viaks的photo.jpg)并将其插入mysql数据库表。如果可能,可以使用jquery在客户端处理文件名。对于这种情况,您有两种选择。转义报价或删除报价。如果您转义单引号,那么您的文件名将类似于vikas的photo.jpg,因此可以毫无问题地将其插入数据库。如果删除单引号,则文件名将变为如何在php表单文件上载中从文件名中删除特殊字符,如撇号/引号,php,jquery,mysql,Php,Jquery,Mysql,我在上传文件名为vikas的photo.jpg时遇到问题。我必须使用php脚本上传文件名(viaks的photo.jpg)并将其插入mysql数据库表。如果可能,可以使用jquery在客户端处理文件名。对于这种情况,您有两种选择。转义报价或删除报价。如果您转义单引号,那么您的文件名将类似于vikas的photo.jpg,因此可以毫无问题地将其插入数据库。如果删除单引号,则文件名将变为vikass photo.jpg 如果你想转义引号,那么你可以使用mysql\u real\u escape\u
vikass photo.jpg
如果你想转义引号,那么你可以使用mysql\u real\u escape\u string($string)
因为mysql\u*函数是贬值的,所以你也可以使用
mysqli\u real\u escape\u string(mysqli$link,string$escapestr)
就你而言
$oldFileName = $_FILES['file']['name'];
$fileName = mysql_real_escape_string($oldFileName);
如果要替换引号,则可以使用
$fileName=str_replace(“'”、“,$oldFileName”)代码>它不会删除,而是转义带引号的字符串。如果您根本不想使用引号,那么您可以将其替换为您应该展开(带有示例和输出)并将其作为答案发布@TintuCRajuform submission,带有文件上载选项(输入类型=文件)的多部分编码,让文件名为vikas的photo.jpg,表单已提交。现在的问题是如何处理具有apstorphy的文件名,以便使用php脚本将其插入到表中。@vKr希望我的解决方案解决了您的问题。@shahmanthan9正则表达式在这里过于复杂,而且这将意味着您将拒绝文件上载,这对用户体验不利。在本例中,最好让应用程序“纠正错误”。