我制作了一个上传系统,用户在其中上传文件,然后保存该文件,然后由php读取。这些值将插入数据库中。整个事情在开发服务器上都很好用,但在实时服务器上却没有。
我在直播网站上有另一个可以正常运行的上传系统。我尝试将其上传到其他文件夹,但这也没有用。
请注意,有一天我遇到了 mime 类型的问题。因此,例如,我上传了一个csv文件,但服务器将其作为文本/纯文本文件读取。我配置了已配置的codeigniter,以允许将其用于csv,因此这不应成为问题。只是认为这值得一提。
错误:
遇到PHP错误
严重程度:警告
消息:fopen(http://144.119.190.87/designUploads/testing.csv):无法打开流:HTTP请求失败! HTTP/1.1 401未经授权
文件名:controllers/headquarters.php
行号:682
==================================================
PHP:
public function importDesign () {
// setting config options
$config['upload_path'] = './designUploads/';
$config['allowed_types'] = 'csv';
$config['overwrite'] = 'true';
// loading upload library
$this->load->library('upload', $config);
// write errors to view file
$error = '';
if (!$this->upload->do_upload('userfile')) {
$this->upload->delete($lastId);
} else {
$data = array('upload_data' => $this->upload->data());
}
$fileData = $this->upload->data();
$name = $fileData['file_name'];
Line 680 ---> if (($handle = fopen(base_url('designUploads/'. $name), "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$query = $this->db->query('
UPDATE rollout_systems
SET Mig_type = "'. $data[2] .'",
hardw_destination = "'. $data[3] .'",
new_model = "'. $data[4] .'",
new_system = "'. $data[5] .'",
Mig_Class = "'. $data[6] .'"
WHERE sys_name = "'. $data[0] .'"
AND EAM_User = "'. $data[1] .'"
');
if ($query) {
redirect('headquarters/migrationDetails');
}
}
fclose($handle);
}
}
最佳答案
多亏了两位我们的帮助。在比较两个我有代码的上传文件时发现了问题。事实证明,fopen()不支持base_url()。一旦我摆脱了它的工作。
关于codeigniter - 错误: HTTP/1.1 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11193981/