0

我是 php 新手,尝试将文件上传到 phpMyAdmin 时遇到错误:

Insert new record and upload photo

The upload destination folder does not appear to be writable.

Fatal error: Call to undefined function form_open_multipart() in /home/bg14nz/public_html/ci/application/views/vFormInsertPhoto.php on line 76

这是我的代码:

<h1>Insert new record and upload photo</h1>

<?php echo $error;?>

<?php echo form_open_multipart('site/doupload');?> (line 76)

Photo title:

<input type="text" name="PhotoTitle" value="" size="50"  />
<br />

<input type="file" name="userfile" size="20" />
<br />

<input type="submit" value="upload" />
<br /><br />

<div><input type="submit" value="Submit"  /></div>
</form>

非常感谢

注意:我正在使用 Codeigniter

4

2 回答 2

0

这与 PHP、Codeigniter 或 MySQL 无关。您尝试写入的文件夹的基础权限不向正在运行(假设基本 LAMP 堆栈)Apache 的系统用户提供写入访问权限。

您需要更改文件夹的权限。如果您有 ssh 访问权限,则可以直接通过命令行执行此操作(查找 chmod 和 chown),如果您使用 cPanel 或其他类似的控制面板前端通过文件管理器 Web 应用程序管理您的服务器,那么它可能为您提供了一些更改权限的方法,或者如果您使用的是 FTP 程序(例如 Filezilla),它可能会为您提供一些更改文件夹权限的方法。您想为每个人提供写权限,或将所有权更改给运行 Apache 的用户。

如果您在共享服务器上运行,请注意,执行上述任何一项操作都可能使您向服务器上的其他人敞开大门,将他们想要的任何内容放入您的文件夹中。你不应该相信你在那个文件夹中找到的任何东西,如果它可以通过网络访问,那么你会定期查找上传的 PHP 文件,这些文件会发送垃圾邮件或执行其他恶意行为。

于 2013-04-12T14:57:49.557 回答
0

尝试这个:

如果您使用的是 .htaccess,请检查以下 .htaccess 代码

RewriteEngine on
Rewritebase /
RewriteCond $1 !^(index\.php|uploads|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

“上传”是您上传文件等的文件夹。

https://stackoverflow.com/a/372​​75618/6294040

于 2016-05-17T12:45:28.987 回答