PDA

View Full Version : چگونه هنگام upload کردن مشخصات فایل را نگه داریم؟



taghavi
یک شنبه 29 آذر 1383, 12:43 عصر
سلام دوستان
من نیاز دارم برنامه ای بنویسم که یک عکس را روی سرور upload کنم. حال یک فرم برای ورودی اطلاعات درست کردم ام که بعد از submit باید فایل روی سرور قرار گیرد. با کدی که نوشته ام این کار انجام نمی شود به دلیل اینکه از این قسمت کد که برای نگه داری مشخصات فایل استفاده می کنم مقداری را برنمی گرداند :


printf("Name: %s<br>", $HTTP_POST_FILES["userfile"]["name"]);
printf("Temporrary Name : %s<br>", $HTTP_POST_FILES["userfile"]["tmp_name"]);
printf("Size: %s<br>", $HTTP_POST_FILES["userfile"]["size"]);
printf("Type: %s<br>", $HTTP_POST_FILES["userfile"]["type"]);

چرا کدهای فوق مقداری را بر نمی گرداند یعنی چیزی را چاپ نمی کند.البته لیبل ها را چاپ می کند. ولی مشخصات کنترلی فایل را چاپ نمی کند.
در ضمن ورژن php من 5.0.2 می باشد.

oxygenws
یک شنبه 29 آذر 1383, 13:43 عصر
از متغیر $_FILES به جای $HTTP_POST_FILES استفاده کنید.

taghavi
یک شنبه 29 آذر 1383, 14:14 عصر
از متغیر FILES_$ استفاده کردم ولی جواب نداد.
این هم کد برنامه من است:


<form action= "<?php echo($PHP_SELF) ?>" method ="POST" enctype="multipart/form-data">
<p> Please Enter Number <INPUT type ="file" size= "20" name = "userfile" >
<input type="submit" name="submit" value="upload"></p>
</form>
<?php
if ($submit == "upload") {

printf("Name: %s<br>", $_FILES['userfile']['name']);
printf("Temporrary Name : %s<br>", $_FILES["userfile"]["tmp_name"]);
printf("Size: %s<br>", $_FILES["userfile"]["size"]);
printf("Type: %s<br>", $_FILES["userfile"]["type"]);
}
?>

oxygenws
یک شنبه 29 آذر 1383, 15:55 عصر
بخش متغیر های upload فایل php.ini رو اینجا بنویسید.
یا اگر بتونید محتویات html صفحه phpinfo خودتون رو اینجا بذارید بهتره.

موفق باشید

taghavi
یک شنبه 29 آذر 1383, 16:33 عصر
با تشکر از زحمات شما
چه جوری فایل Phpinfo را برای شما بفرستم. شما اجازه ارسال فایل html و txt و ini را نمی دهید.
در صورت امکان مواردی که باید اصلاح شود در php.ini را بفرمائید.

oxygenws
دوشنبه 30 آذر 1383, 14:46 عصر
فایل رو روی یک سایت آپلود کن یا فایل رو زیپ کن و اینجا بذار.

taghavi
دوشنبه 30 آذر 1383, 15:10 عصر
باتشکر مجدد

oxygenws
دوشنبه 30 آذر 1383, 16:06 عصر
به نظر مشکلی نیست.... فقط....
1- مطمئن بشید شاخه ای با نام c:\php\uptmp وجود دارد.
2- بهتر است مقدار register_long_arrays رو on کنید.
3- مقدار display_errors رو حتما on کنید.

مورد 3 رو حتما انجام بدید....

و مورد 4- با اینترنت اکسپلورر کار نکنید :) :wink:

موفق باشید، امید