php 上传文件到samba (问:如何使用PHP上传文件到Samba?)
如果您需要将PHP上传的文件保存至Samba共享文件夹中,可以使用以下步骤实现。
第一步,确保您的PHP服务器安装了Samba客户端。如果未安装,请在终端中输入以下命令:
sudo apt-get install samba-client
第二步,创建一个Samba共享文件夹。在终端中输入以下命令:
sudo mkdir /mnt/samba_share
sudo chmod 777 /mnt/samba_share
第三步,将Samba共享文件夹挂载到您的服务器上。在终端中输入以下命令:
sudo mount -t cifs //192.168.0.100/shared_folder /mnt/samba_share -o username=samba_user,password=samba_password
其中,192.168.0.100
是您的Samba服务器IP地址,shared_folder
是Samba共享文件夹的名称,samba_user
和samba_password
表示Samba服务器的用户名和密码。
第四步,编写上传文件的PHP代码。以下是一个简单的示例:
“`php
<?php
$targetdir = “/mnt/sambashare/”; // 修改为您的Samba共享文件夹路径
$targetfile = $targetdir . basename($FILES[“fileToUpload”][“name”]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetfile,PATHINFO_EXTENSION));
// 检查文件类型
if($imageFileType != “jpg” && $imageFileType != “png” && $imageFileType != “jpeg”
&& $imageFileType != “gif” ) {
echo “只允许上传JPG、JPEG、PNG和GIF文件!”;
$uploadOk = 0;
}
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "文件过大!";
$uploadOk = 0;
}
// 检查是否可以上传文件
if ($uploadOk == 0) {
echo "文件未上传!";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件已上传!";
} else {
echo "上传失败!";
}
}
?>
“`
第五步,测试上传文件。您可以创建一个简单的HTML表单来测试上传功能。以下是一个示例:
“`html
选择文件:
“`
在表单中,action
属性指向您的PHP上传文件处理程序的路径,enctype
属性指明表单数据的编码方式,method
属性指明表单的提交方式(此处为POST)。
总之,通过上述步骤,您就可以轻松地实现将PHP上传的文件保存至Samba共享文件夹中的功能。