我已将我的localhost文件上传到我的网站,但它显示我错误: -
: [2] file_put_contents( ***WebsiteURL*** /cache/lang/ ***FileName*** .php)
[function.file-put-contents]: failed to open stream: HTTP wrapper does
not support writeable connections | LINE: 127 | FILE: /home/content/
***Folders\FileName*** .php
我个人认为内容会保存在缓存文件夹中的文件中,当我将文件上传到我的Web服务器时,它会尝试访问缓存的localhost文件夹。
答案 0 :(得分:142)
您需要使用file_put_contents(***WebSiteURL***...)
的服务器路径(例如/cache/lang/file.php
)而不是/home/content/site/folders/filename.php
。
您无法在HTTP
上打开文件并希望将其写入。相反,您需要使用本地路径打开它。
答案 1 :(得分:0)
此代码可以帮助您。在我的情况下有效。
$filename = "D:\xampp\htdocs\wordpress/wp-content/uploads/json/2018-10-25.json";
$fileUrl = "http://localhost/wordpress/wp-content/uploads/json/2018-10-25.json";
if(!file_exists($filename)):
$handle = fopen( $filename, 'a' ) or die( 'Cannot open file: ' . $fileUrl ); //implicitly creates file
fwrite( $handle, json_encode(array()));
fclose( $handle );
endif;
$response = file_get_contents($filename);
$tempArray = json_decode($response);
if(!empty($tempArray)):
$count = count($tempArray) + 1;
else:
$count = 1;
endif;
$tempArray[] = array_merge(array("sn." => $count), $data);
$jsonData = json_encode($tempArray);
file_put_contents($filename, $jsonData);
答案 2 :(得分:0)
是因为使用了网址,无法使用http写入数据。不要使用: http:// 或 https:// 在您所在的位置上传文件或保存数据或类似的处理。而不是使用 $_SERVER["HTTP_REFERER"] 使用 $_SERVER["DOCUMENT_ROOT"]。 例如:
错误:
move_uploaded_file($_FILES["File"]["tmp_name"],$_SERVER["HTTP_REFERER"].'/uploads/images/1.jpg')
正确:
move_uploaded_file($_FILES["File"]["tmp_name"],$_SERVER["DOCUMENT_ROOT"].'/uploads/images/1.jpg')