草庐IT

php - 是否建议通过 php 上传非常大的文件(例如 500mb)?

我创建了一个简单的网络界面,允许不同的用户上传文件。我将上传限制设置为100mb,但现在发现客户端偶尔想要上传500mb+的文件。我知道如何更改php配置以更改上传限制,但我想知道通过php上传这种大小的文件是否有任何严重的缺点?显然ftp会更好,但如果可能的话,我宁愿没有两种不同的上传文件的方法。谢谢 最佳答案 首先,FTP从来都不是首选。对任何事。我假设您的意思是通过HTTP传输文件。虽然不像FTP那样糟糕,但如果您能找到另一个解决问题的方法,那可不是个好主意。HTTP(以及组件程序)针对在Internet上传输相对较小的文件进

php - file_get_contents 或 fopen 用于读取几 MB 的 php ://input?

这似乎是一个重复的问题,但事实并非如此:我通过php:/input(1-500mb)收到了数兆字节的数据,我必须将这些数据保存在一个文件中。更性能明智(服务器负载,速度)使用:file_put_contents($filename,file_get_contents('php://input'))或$input=fopen("php://input","r");$temp=tmpfile();$realSize=stream_copy_to_stream($input,$temp);fclose($input);$target=fopen($filename,"w");fseek($t

php - 为什么有人想使用 strlen 而不是 mb_strlen

有一些遗留代码,我应该将其从iso-8859-2转换为UTF-8。其中一个问题是strlen函数的广泛使用。我首先想到的是将所有出现的strlen替换为mb_strlen。但是,我的一位同事说这是一个错误。我知道这两个函数之间的区别-如果字符串中有重音字符,strlen将返回它实际占用的字节数,而mb_strlen将返回字符。现在,一位同事说,也许,只是也许某处存在返回值需要与字符串中的字节数有关的情况,但他无法给我任何此类情况的示例。整个代码中大约有900次strlen出现,分析每一次出现都需要几天时间。问题是-当有人需要字节数而不是字符串中的字符数时,可能出现的情况是什么?

php - 如何在 phpmyadmin 中上传大型 .sql mb 文件

如何将140mb文件上传到我的localserver上的phpmyadmin我正在使用WAMP服务器。当我导入文件时,我的浏览器挂起并且什么也不会发生,我还尝试增加我的php.ini文件中的时间限制。 最佳答案 您尝试过压缩吗?如果它是您要导入的表或数据库,则在转储文件时会有一个压缩选项。您必须选择:自定义-显示所有可能的选项并选择一种可以节省大量时间和空间的压缩方法。 关于php-如何在phpmyadmin中上传大型.sqlmb文件,我们在StackOverflow上找到一个类似的问题

php - phps mb_ereg 函数是否可以安全使用(由于 ereg 被弃用)?

我只是想调整我的代码以兼容php5.3(6.0)。所以我想用相应的preg函数替换所有对ereg函数的调用。但后来我看到mb_ereg函数没有被标记为已弃用。所以我只是想知道依赖它们是否省钱?是否知道它们也将很快被宣布弃用,或者它甚至是文档中的缺陷? 最佳答案 我不会依赖他们。preg函数更快、更高效、更强大并且天真地支持UTF8。我建议使用preg函数来满足您的所有正则表达式需求。但要直接回答您的问题,mb_ereg似乎并没有被弃用... 关于php-phpsmb_ereg函数是否可以

php - 在 PHP 中生成高达 100MB 的随机字符串以进行测试的有效方法?

出于测试目的,我需要这样的函数:/***@paramint$sizeInBytes**@returnsstringwithrandomdata*/functionrandomData($sizeInBytes){...}有什么有效实现的想法吗?需要速度而不是真正的随机性(更像是一种“loremipsum”)。我最简单的想法是在文件系统中使用真正的大文件并通过流获取所需的大小。但这至少需要一个100MB的文件。有没有更好的办法? 最佳答案 如果您有可用的内存,只创建一个很长的字符串怎么样?这不应该花那么长时间:)$x=str_repe

php - fatal error : call to undefined function mb_strtolower() in OpenCart

这个问题在这里已经有了答案:Fatalerror:Calltoundefinedfunctionmb_strtolower()(4个答案)关闭8年前。我正在使用opencart1.5.6这周我遇到了一次严重的服务器崩溃,不得不对服务器进行镜像恢复。现在一切都恢复正常,除了现在在opencart中,当我尝试以客户身份登录或去结账时,我收到此错误并且不知道如何解决它。SyntaxError:JSON.parse:unexpectedcharacteratline1column1oftheJSONdataFatalerror:Calltoundefinedfunctionmb_strtolo

php - mb_convert_encoding() 不适用于 phpunit

出于某种原因,在phpunit中运行mb_convert_encoding时,我得到了意想不到的结果。例如执行以下操作:var_dump(mb_convert_encoding(utf8_decode('ö'),'UTF-8')==='ö')上面在PHP-FPM和PHP-CLI下返回bool(true),但是在PHPunit下返回false,mb_convert_encoding()正在做一些事情,它只是编码到一个乱七八糟的字符串。 最佳答案 我猜你正在使用一组不同的mbstringini设置。这是解决该问题的一种方法。首先,您可以

上传 "larger"(超过 2MB)文件时出现 PHP 文件上传问题

我在尝试上传“更大”的文件时遇到了问题,我相信我所允许的限制大约是2MB。我已经上传了多个小于2MB的文件类型(.js、.png、.jpg、.psd、.php),但是任何超过2MB的文件都会失败。1.8MBpsd图片已完成2.4MBpsd图像无效(与1.8相同的文件,只是更大)我已经将php.ini更改为以下内容:upload_max_filesize=20M(从2M更改)post_max_size=40M(从2M改为)max_execution_time=60(从45改为)max_input_time=180(从30改为)memory_limit=48M(从8M改为)我还在我的hta

php - 在 PHP 中读取非常大(超过 100MB)的 Excel 文件

我正在尝试使用PHPExcel读取一个大于100MB的Excel文件,但它在加载文件时崩溃了。我不需要任何样式。我尝试使用:$objReader->setReadDataOnly(true);但它仍然崩溃。有什么有效的方法可以在PHP中读取这种大小的Excel文件吗? 最佳答案 尝试Spout:https://github.com/box/spout.这是一个为解决您的问题(读/写大文件)而创建的PHP库。这就是它起作用的原因:其他图书馆在内存中保留电子表格的表示形式,这使得它们容易出现内存不足错误。使用一些缓存策略将有助于解决此类