Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php表单文件上载中从文件名中删除特殊字符,如撇号/引号_Php_Jquery_Mysql - Fatal编程技术网

如何在php表单文件上载中从文件名中删除特殊字符,如撇号/引号

如何在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

我在上传文件名为vikas的photo.jpg时遇到问题。我必须使用php脚本上传文件名(viaks的photo.jpg)并将其插入mysql数据库表。如果可能,可以使用jquery在客户端处理文件名。

对于这种情况,您有两种选择。转义报价或删除报价。如果您转义单引号,那么您的文件名将类似于vikas的photo.jpg,因此可以毫无问题地将其插入数据库。如果删除单引号,则文件名将变为
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正则表达式在这里过于复杂,而且这将意味着您将拒绝文件上载,这对用户体验不利。在本例中,最好让应用程序“纠正错误”。