View Full Version : سوال: مشکل در آپلود عکس روی سرور
vahid78
دوشنبه 23 خرداد 1390, 18:06 عصر
سلام دوستان، من میخوام یه عکس رو از روی سرورم به فولدرم انتقال بدم ... با دستور move_uploaded_file
ولی مشکل اینجاست که فایل رو سرور اپ نمیشه یعنی tmp_name که میده،چیزی توش نیست ..
من از xamp استفاده میکنم، به نظرتون مشکل از این برنامه هست؟
webpower
سه شنبه 24 خرداد 1390, 01:58 صبح
فرمتون:
<form action=up.php method="post" name='index' enctype="multipart/form-data">
<input type=file name=index><br>
<input type=submit value=UPLOAD>
</form>
این قسمت اختیاری نیست: "enctype="multipart/form-data
صفحه up.php:
<?php
$name=$_FILES['index']['name'];
if($name=='')
{
echo 'Try again!';
exit;
}
else
{
if(move_uploaded_file($_FILES['index']['tmp_name'],"ups/$name"))
{echo 'File uploaded!<BR>';
echo "Name: ".$_FILES['index']['name']. "<br>";
echo "Type: ".$_FILES['index']['type']."<br>";
echo "Size: ".$_FILES['index']['size']. "Bytes<br>";
echo "Directory: <a href=\"ups/$name\">localhost/ups/$name</a><br>";
echo "<hr/>";
echo "<a href='ups/$name'>Click to see full size</a><br>";
echo "<img src='ups/$name' width=400px height=300px>";}
else
{
echo 'Sorry! server is busy';
}
}
?>
پوشه ی up رو اول ایجاد کنید تا عکس ها اونجا بره
در ضمن به جای move_uploaded_file میتونید از تابع copy استفاده کنید پارامترهاش هم به همون شکله
اگر مشکل حل نشد لطفا کدتون رو بذارید
vahid78
سه شنبه 24 خرداد 1390, 13:56 عصر
این کد منه :
<form action="/Ads/Library/Action.php?act=addads" method="post" name="AddAds" enctype="multipart/form-data">
<input name="pic" type="file" />
<input type="submit" name="Submit" value="ثبت" />
$fname=$_FILES["pic"]['name'];
if(!empty($fname))
{
$target = "/ads/adspic".$usrname."_".time()."_".$fname;
$ftmp_name=$_FILES["pic"]["tmp_name"] ;
if(move_uploaded_file($ftmp_name,$target))
$pic="/ads/adspic/".$usrname."_".time()."_".$fname;
else
die("آپلود عکس موفقیت آمیز نبود.");
}
else
{
$pic='0';
}
$_FILES["pic"]["tmp_name"] یه آدرسی میده،ولی تو آن ادرس فایلی نیست که من تو پوشه خودم ببرم ...
alismith
سه شنبه 24 خرداد 1390, 14:31 عصر
سلام
این دستورات test شده و 100% کار می کنه ، فقط من برای اینکه error نداشته باشم $usrname رو مقداردهی کردم، خودتون مقدار رو پاک کنید :
<html>
<head>
</head>
<body>
<?php
$usrname = "vahid78";
$fname=$_FILES['pic']['name'];
if(!empty($fname))
{
$target = "ads/adspic/".$usrname."_".time()."_".$fname;
$ftmp_name=$_FILES['pic']['tmp_name'];
if(move_uploaded_file($ftmp_name,$target))
$pic="ads/adspic/".$usrname."_".time()."_".$fname;
else
die("آپلود عکس موفقیت آمیز نبود.");
}
else
{
$pic='0';
}
?>
<form action="" method="post" name="AddAds" enctype="multipart/form-data">
<input name="pic" type="file" />
<input type="submit" name="Submit" value="ثبت" />
</form>
</body>
</html>
موفق باشید
vahid78
سه شنبه 24 خرداد 1390, 16:06 عصر
بازم مشکل هست و اپلود نمیکنه، من خودم حدس میزنم مشل از xamp باشه،درسته؟
alismith
سه شنبه 24 خرداد 1390, 16:37 عصر
سلام
شما مسیر ها رو چک کردی مطمئن هستی که درست دادی :
action="/Ads/Library/Action.php?act=addads"
$target = "/ads/adspic".$usrname."_".time()."_".$fname;
$pic="/ads/adspic/".$usrname."_".time()."_".$fname;
' / ' (slash) رو از ابتدای آدرس ها بردارید
امتحان کنید!
موفق باشید
alismith
سه شنبه 24 خرداد 1390, 17:02 عصر
سلام
کد رو یکم تغییر دادم ، گفتم شاید با شناسایی فرمت مشکل شما حل بشه !
این دستور رو امتخان کنید :
<html>
<head>
</head>
<body>
<?php
$usrname = "vahid78";
$fname=$_FILES['pic']['name'];
if(!empty($fname))
{
$allowedExtensions = array('jpg', 'jpeg', 'gif', 'png');
preg_match('/\.('.implode($allowedExtensions, '|').')$/', $_FILES['pic']['name'], $fileExt);
$target = "ads/adspic/".$usrname."_".time()."_".$fname.'.'.$fileExt[1];
$ftmp_name=$_FILES['pic']['tmp_name'];
if(move_uploaded_file($ftmp_name,$target))
$pic="ads/adspic/".$usrname."_".time()."_".$fname.'.'.$fileExt[1];
else
die("آپلود عکس موفقیت آمیز نبود.");
}
else
{
$pic='0';
}
?>
<form action="" method="post" name="AddAds" enctype="multipart/form-data">
<input name="pic" type="file" />
<input type="submit" name="Submit" value="ثبت" />
</form>
</body>
</html>
موفق باشید
vahid78
پنج شنبه 26 خرداد 1390, 18:59 عصر
با wamp تست کردم مشکلی نداشت ... ایراد از xamp بود
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.