我使用file_get_contents上传图片,我使用webcam.js
来捕获图片。它正在我的本地工作但是当我将它移动到我的在线服务器时它无法工作,所以我尝试搜索最新情况并引导我allow_url_fopen
所以我检查了我的cpanel
如果allow_url_fopen
已开启且我导航PHP Selector | options
并证明它是on
,那么我希望有人知道我需要做的下一步行动是什么。使它工作。
PHP:
<?php
//set random name for the image, used time() for uniqueness
$filename = time() . '.jpg';
$filepath = '../images/profile/';
$patient_id = $_SESSION['patient_current_id'];
$sql = "UPDATE patients SET ";
$sql .= "image_path = '{$filename}' ";
$sql .= "WHERE id = {$patient_id} ";
$sql .= "LIMIT 1";
$image = mysqli_query($con, $sql);
//read the raw POST data and save the file with file_put_contents()
$result = file_put_contents( $filepath.$filename, file_get_contents('php://input') );
if (!$result) {
print "ERROR: Failed to write data to $filename, check permissions\n";
exit();
}
echo $filepath.$filename;
?>
答案 0 :(得分:0)
allow_url_fopen
是否设置为true。或者,您也可以尝试使用CURL获取文件的内容。
答案 1 :(得分:0)
尝试使用cUrl而不是file_get_contents。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec("http://www.example.com");
curl_close($ch);
$result = file_put_contents( $filepath.$filename, $data );