我有一个图像裁剪脚本,使用Jquery Jcrop plugin一次裁剪一个图像。 现在我想上传更多图像并使用for循环逐个裁剪。
最好的方法是什么?
我将输入字段设置为多个,因此可以上传多个。
我使用$max
和count
编辑了我的代码。而且我认为我做错了。我如何解决这个问题,所以当我点击裁剪时,它会相互裁剪。
这是我的uploaded.php
:
<?php
session_start();
$max = count($_FILES['userfile']['name']);
for($i = 0; $i < $max; $i++){
$target = $_FILES['file'][$i];
}
$target = "data/uploads/";
$target = $target . basename( $_FILES['filename']['name']) ;
$_SESSION['target_path'] = $target;
$ok=1;
if(move_uploaded_file($_FILES['filename']['tmp_name'], $target))
{
echo "De afbeelding *". basename( $_FILES['filename']['name']). "* is geupload naar de map 'uploads'";
}
else
{
echo "Sorry, er is een probleem met het uploaden van de afbeelding.";
}
?>
谢谢!
答案 0 :(得分:1)
我想你想要更像这样的东西:
<?php
session_start();
$upload_dir = "data/uploads/";
for($i = 0; $i < 5; $i++){
$target = $upload_dir . basename( $_FILES['file']['name'][$i]);
if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $target)) {
echo "De afbeelding *". basename( $_FILES['file']['name'][$i]). "* is geupload naar de map 'uploads'";
} else {
echo "Sorry, er is een probleem met het uploaden van de afbeelding.";
}
}
答案 1 :(得分:1)
你需要检查一些事情
1)要上传文件,请阅读:http://php.net/manual/en/features.file-upload.multiple.php - 特别是HTML中的input name="userfile[]"
和服务器上的文件显示为$_FILES['userfile']['name'][0],...,$_FILES['userfile']['name'][N]
2)move_uploaded_file()
是一个安全检查,以确保文件有效,没有它离开家: - )
3)我推荐imagemagick
库(http://php.net/manual/en/imagick.cropimage.php),我知道,Jcrop demo使用GD库,但值得你花时间看imagemagick。
4)最后如果全部失败,请使用print_r($variable)
确保文件进入您的服务器。
5)有时它可能是系统管理员问题,如unwritable / tmp文件夹,磁盘已满,php.ini中的上传大小限制以及Web服务器内置超时。检查phpinfo()也有帮助