草庐IT

FILES_SECTION

全部标签

php - 为什么 php 将 $_FILES 值按名称、类型而不是输入文件名的顺序分组?

当我上传文件数组时,我得到以下数组。array(1){["upload"]=>array(2){["name"]=>array(2){[0]=>string(9)"file0.txt"[1]=>string(9)"file1.txt"}["type"]=>array(2){[0]=>string(10)"text/plain"[1]=>string(10)"text/html"}...}}以上述格式而不是以下格式接收的数组背后的原因(技术原因或任何好处)是什么?array(1){["upload"]=>array(2){[0]=>array(2){["name"]=>string(9)

php - 如果找不到,我们如何使用 Apache 重定向到新的 HTML 静态内容并回退到旧的基于 CMS 的 PHP 版本? (nginx try_files)

问题:我们正在用Gatsby构建的SSGHTML版本替换旧的基于PHP的网站(基于Statamicv1)。问题是:只有一部分现有页面必须更换,而成员(member)空间、/login和/contact页面必须暂时保留。所以我想知道我应该如何使用新版本调整当前的.htaccess配置首先在特定目录中找到新的静态内容(public/)或者如果不是,则回退到旧的index.php?path=方法。注意事项:使用nginx这将通过try_files指令完成所以,这个问题在某种程度上与:https://serverfault.com/questions/290784/what-is-apache

php - 大字符串 : Text files or SQL DB?

我正在使用PHP编写论坛系统。我目前将线程ID、标题、作者、View和其他属性存储在SQL数据库中,然后将线程主体(HTML和BBcode)存储在以线程ID命名的文件夹内的文本文件中。在实践中,获取数据库值然后从文本文件中获取线程主体真的很简单,但我想知道这是否是“正确的方法”?我个人对此没有任何问题,但如果事实证明它非常低效,我应该改为将线程主体HTML和BBcode都存储在数据库中,然后我会改变。但是,对我来说,将这样一个(很可能)巨大的多行文本字符串以及许多不同的字符存储在数据库中似乎是错误的——我被告知数据库更多的是用于短字段“值”而不是网站内容。我只是想要一个明确的答案,因为

php - 如何手动创建 $_FILES 文件对象?

我正在破解Chamilo,因此当用户查看他们的个人日程时它会自动导入一个iCal文件。到目前为止,我已经能够确定为实现这一目标而需要调用的函数。但是,执行实际导入的函数需要从$_FILES超全局引用文件对象。它从$file['tmp_name']获取文件名并对其调用file_get_contents()。我考虑过复制该函数并对其进行更改,以便它需要一个常规文件对象,但这似乎是一种糟糕的处理方式。更好的解决方案是构造它期望的文件对象。但我不知道该怎么做,谷歌搜索也无济于事。有没有人有想法? 最佳答案 如果库写得很好,这是不可能的——即

php - 目录结构 : Separating the application from uploaded files

我有一个关于应用程序目录结构的一般性问题。我有我的应用程序和定期更新的git存储库所需的所有文件(PHP文件、CSS、JS等)。我有一个上传文件夹,用于存储用户上传的头像和文件。例如,将应用程序的这两部分分开是否符合惯例?public_html/app/uploads或者目录结构应该更像这样?:public_html/index.php/css/js/uploads当我合并来自github的更改时,我不希望我的任何用户文件受到影响。那么应用程序是否应该与上传在物理上分开,或者我应该只将/uploads包含到.gitignore中?如果需要任何.htaccess重写怎么办?

PHP $_FILES MIME 类型返回 null

现在我正在尝试编写一个脚本,它只接受某些音频文件上传到服务器。但是,某些MIME类型返回为null。下面是一些代码片段:PHP:$allowedExt=array('audio/mp4a-latm');if(isset($_POST)){print_r($_FILES);//ToDo:LimitbyFileSizeif(in_array($_FILES["fileUpload"]["type"],$allowedExt)){echo"filetypefound";}elseecho"wrongfiletype";}HTML:Chooseafile:上面的结果是:Array([fileU

php - Magento 系统配置 : What's the use of frontend_type for section and groups?

在system.xml中,我可以为部分和组定义一个frontend_type。Mage_Catalog示例。separator-topCatalogcatalogtext40111Frontendtext100111有没有例子表明这是不是文本?用例是什么? 最佳答案 据我了解thisarticle作者:AlanStorm,值(value)在工厂样式模式中用于实例化格式为的类Varien_Data_Form_Element_Type哪里Type是的值.这发生在addFieldVarien_Data_Form_Element_Abstr

php - $_FILES 中的文件名不能很好地使用撇号

我正在研究图像上传流程,但在测试后遇到了一个奇怪的问题。我们正在尝试使用以下文件名对其进行测试:1234567890-=!@#$%^&()_+qwertyuiop[]{}asdfghjkl;'zxcvbnm,.png表单发布后,我在$_FILES对象中查看它,我得到的名称是:zxcvbnm,..png(两个点不是错别字)在对此进行调查后,我听说它可能与魔术引号有关。我试过关闭它们,但没有成功。有任何想法吗?另外,下面的代码...$size=sizeof($_FILES['userfile']['name']);for($i=0;$i$file_name变量是要修剪的内容。想法?

php ->2GB 文件上传 $_FILES ["file"] ["size"] 负数

我在$_FILES["file"]["size"]处得到>2GB的文件上传负数。但是文件上传正常并且filesize()也返回正确的大小。但是如何解决$_FILES返回正确的值呢?我已经阅读了一些旧版本的php的问题,它们在filesize()返回负数时也有错误,但现在看来没问题。他们只是忘记修复$_FILES了吗?您不知道它是否已在php5.5.0上修复了吗?PHP:5.4.16操作系统:DebianSqueeze6.0.7x64网络服务器:Nginx1.2.7 最佳答案 无论是什么问题,您都可以像这样最多4GB解决它:$file

php - 我可以将 base64 图像添加到 $_FILES 数组吗?

有没有办法将base64图像字符串添加到$_FILES数组(上传文件时得到的数组)?基本上,我想从base64字符串伪造文件上传。base64字符串来自电子邮件附件。我不想使用file_get_contents(),因为我想将图像作为二进制图像保存在数据库中。我不需要上传它,但我确实需要它成为$_FILES数组的一部分。 最佳答案 上传是一种将文件内容从客户端(通常是网络浏览器)发送到服务器的方法。听起来你已经在服务器上获得了你需要的数据(用PHP),所以你不需要上传它。您可以使用base64_decode()将其从base64转换