Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][ASP][.NET]Upload plików
Eagle
post 11.05.2008, 13:59:07
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


Witam

Potrzebuje wysłać za pomocą "specjalnego" programu plik na serwer. Wykorzystuje on do tego technologię .NET (która jak wiadomo ma tylko wsparcie dla ASP).

Plik wysyłam przez "POST"
tablica $_FILE wygląda tak:
Kod
Array
(
    [file] => Array
        (
            [name] => wolne.jpg
            [type] => application/octet-stream
            [tmp_name] => C:/ścieżka/temp/file-uploads\php257.tmp
            [error] => 0
            [size] => 146064
        )
)


Taki jest przykład od MS
Kod
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<script language="VB" runat=server>
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

        Dim f As String
        Dim file
        For Each f In Request.Files.AllKeys
            file = Request.Files(f)
            file.SaveAs("c:\inetpub\test\UploadedFiles\" & file.FileName)
        Next f

    End Sub

</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>


A tak wygląda mój* kod w php
  1. <?php
  2. if( is_uploaded_file( $_FILES['tmp_name'] ) )
  3. {
  4. $strUploadDir = 'C:ścieżka' . $_FILES['name'];
  5. if( move_uploaded_file( $_FILES['tmp_name'], $strUploadDir ) )
  6. {
  7. echo 'Plik został pomyślnie uploadowany! <br />';
  8. }
  9. else
  10. {
  11. echo 'Upload pliku nie powiódł się!';
  12. }
  13. echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r( $_FILES, true ) . '</pre>';
  14. }
  15. else
  16. {
  17. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!;
  18. }
  19. ?>


Po przesłaniu pliku jest wyświetlany komunikat "Wystąpił błąd podczas wysyłania pliku na serwer!"

* znalezione gdzieś w google

Pozdrawiam
Go to the top of the page
+Quote Post
Ociu
post 11.05.2008, 14:04:49
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Zajrzałeś chociaż do manuala ?

Cytat
Do prawidłowego działania, funkcja is_uploaded_file() wymaga argumentu jak $_FILES['userfile']['tmp_name'], - nazwa przysyłanego pliku na maszynie klienta $_FILES['userfile']['name'] nie zadziała.


Poza tym, nie powinno być czasem !is_uploaded_file ?
Go to the top of the page
+Quote Post
marcio
post 11.05.2008, 15:05:42
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $_FILES['tmp_name'];
  3. ?>

Chyba zle to masz brakuje ci tez tablicy z forma czyli chyba tak powinno byc
  1. <?php
  2. $_FILES['tmp_name']['nazwa_zmiennej_z_forma'];
  3. ?>

Tak albo przed nazwa srodowiskowa


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Eagle
post 11.05.2008, 16:08:33
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 14
Dołączył: 16.03.2007

Ostrzeżenie: (0%)
-----


Mam rozwiązanie... (znalezione na jakiejś stronie)

Może się komuś przyda

  1. <?php
  2. $uploaddir = ''; // Relative Upload Location of data file
  3.  
  4. if (is_uploaded_file($_FILES['file']['tmp_name']))
  5. {
  6. $uploadfile = $uploaddir . basename($_FILES['file']['name']);
  7. echo "File ". $_FILES['file']['name'] ." uploaded successfully. ";
  8. if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
  9. {
  10. echo "File is valid, and was successfully moved. ";
  11. }
  12. else
  13. print_r($_FILES);
  14. }
  15. else
  16. {
  17. echo "Upload Failed!!!";
  18. print_r($_FILES);
  19. }
  20. ?>


Musze robić sobie jakieś przerwy od kompa bo nie czytam ze zrozumieniem ;]

Ten post edytował Eagle 11.05.2008, 16:19:38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 12:36