Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] bład w skrypcie
Forum PHP.pl > Forum > Przedszkole
-Tomek-
Witam mam taki kod skryptu
upload go
  1. <?php
  2. function do_upload($filename,$newname) {
  3.  $file = basename($filename);
  4.  $tmp_upload_path = "c:apachehtdocs\tmp\";
  5.  $new_file_name = "c:apacheupload&#092;".$newname;
  6.  if (!copy($tmp_upload_path.$file, $new_file_name)) echo "failed to copy file<br>\n";
  7.  return;
  8. }
  9. ?>
  10.  
  11. <HTML>
  12.  
  13. <HEAD>
  14. <TITLE>PHP - file upload</TITLE>
  15. <style type="text/css">
  16. <!--
  17. body   { font-family: Arial, Helvetica, sans-serif; font-size: 10pt}
  18. -->
  19. </style>
  20. </HEAD>
  21.  
  22. <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
  23. <?php
  24.  
  25. do_upload($userfile,$newname);
  26. ?>
  27. <TABLE>
  28.   <TR>
  29.      <TD><b>upload report</b></TD><TD></TD>
  30.   </TR>
  31.   <TR>
  32.      <TD>upload tmp file:</TD><TD><?php echo $userfile; ?></TD>
  33.   </TR>
  34.   <TR>
  35.      <TD>file name:</TD><TD><?php echo $userfile_name; ?></TD>
  36.   </TR>
  37.  <TR>
  38.      <TD>target file name:</TD><TD><?php echo $newname; ?></TD>
  39.   </TR>
  40.  <TR>
  41.      <TD>target directory:</TD><TD>c:apachehtdocs\tmp</TD>
  42.   </TR>
  43.   <TR>
  44.      <TD>file size:</TD><TD><?php echo $userfile_size; ?></TD>
  45.   </TR>
  46.   <TR>
  47.      <TD>file type:</TD><TD><?php echo $userfile_type; ?></TD>
  48.   </TR>
  49. </TABLE>
  50.  
  51. </BODY>
  52. </HTML>

i index.php
  1. <?php
  2. <HTML>
  3. <HEAD>
  4. <TITLE>PHP - file upload</TITLE>
  5. <style type="text/css">
  6. <!--
  7. body   {  font-family: Arial, Helvetica, sans-serif; font-size: 10pt}
  8. -->
  9. </style>
  10. </HEAD>
  11.  
  12. <BODY>
  13. <center>
  14. <table>
  15. <FORM ENCTYPE="multipart/form-data" ACTION="upload_go.php" METHOD=POST>
  16. <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
  17.  
  18. <tr>
  19.  <td><b>file upload</b></td>
  20.  <td></td>
  21. </tr>
  22. <tr>
  23.  <td>file: </td>
  24.  <td><input type="File" name="userfile" size="30" maxlength="255">
  25.  </td>
  26. </tr>
  27. <tr>
  28.  <td>target filename: </td>
  29.  <td><input type="Text" name="newname" size="30" maxlength="^255">
  30.  </td>
  31.  </tr>
  32. <tr>
  33. <tr>
  34.  <td>upload diretory: </td>
  35.  <td>c:apacheupload</td>
  36. </tr>
  37.  <td colspan="2" align="CENTER">
  38.    <INPUT TYPE="submit" VALUE="upload">
  39.  </td>
  40. </tr>
  41. </FORM>
  42. </table>
  43. </center>
  44. </BODY>
  45. </HTML>
  46. ?>

niestety wywala mi błąd
Warning: copy() [function.copy]: Unable to access c:\apache\htdocs\tmp\ in /var/www/sites/yoyo.pl/a/s/asdddp/upload_go.php on line 6Warning: copy(c:\apache\htdocs\tmp\) [function.copy]: failed to open stream: No such file or directory in /var/www/sites/yoyo.pl/a/s/asdddp/upload_go.php on line 6failed to copy fileupload report upload tmp file: file name: target file name: target directory: c:\apache\htdocs\tmp\file size: file type: " title="Zobacz w manualu PHP" target="_manual
Powie ktoś jak naprawić błąd i co zrobić aby skrypt działał poprawnie
strona http://www.asdddp.yoyo.pl/
Czekam
redelek
A msz taką ścieżkę na serwerze
  1. <?php
  2. $tmp_upload_path = "c:apachehtdocs\tmp\";
  3. ?>
?
Popraw to na naprzyklad
  1. <?php
  2. $tmp_upload_path = "tmp/";
  3. ?>


Na serwerach nie masz dostępu do dysków C. Jeśli to serwer linux-owy to tym bardziej nie zrozumie tej ścieżki:)

Powodzenia
Redelek
f1xer
zamiast copy użyj move_uploaded_file wtedy nie musisz znac sciezki do tempa tylko nazwe pliku z tablicy $_FILES
--Tomek--
a jak mam skrypt w folderze głównym to jaką dać ścieżkę
  1. <?php
  2. $tmp_upload_path = "\tmp\";
  3.  $new_file_name = "upload&#092;".$newname;
  4. ?>

jak ktoś zna jakiś lepszy polski skrypt to niech poda linka
redelek
Cytat(--Tomek-- @ 10.10.2008, 13:05:53 ) *
a jak mam skrypt w folderze głównym to jaką dać ścieżkę
  1. <?php
  2. $tmp_upload_path = "\tmp\";
  3.  $new_file_name = "upload&#092;".$newname;
  4. ?>

jak ktoś zna jakiś lepszy polski skrypt to niech poda linka


Oj oj kolega to mało pisze i słabo czyta. Podałem Ci przykład jak powinna wyglądać ścieżka.
www.google.pl i pierwszy link
http://webmade.org/porady/upload-plikow-wg...-serwer-php.php
http://www.kess.snug.pl/?sid=10&pid=38
Najprostsze co się da 3 link z google
http://www.programuj.com/faq/php/upload.php

Jest tego od cholery smile.gif

Powodzenia
Redelek
--Tomek--
sory nie wyraziłem się dość jasno potrzebuje skrypt na upload który pokazuje link po wgraniu plików coś ala FotHost.pl
f1xer
dostałeś już tyle linków że spokojnie mógłbyś to napisać a jeżeli ci się nie chce to zapłać komuś kto ci to napisze. W czym problem uploadujesz plik i zapisujesz jego nazwe w bazie pliku czy gdzie tam chcesz a pozniej wyswietlasz link do tego pliku.
--Tomek--
zrobiłem przenosi mi plik na serwer fttp ale jeszcze jak zrobić żeby byłdo tego link
  1. <?php
  2.  
  3. $location = 'plik' . basename($_FILES['userfile']['name']);
  4.  
  5. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $location)) {
  6.   echo "Plik został załadowany poprawnie...";
  7. } else {
  8.   echo "Plik nie został załadowany...";
  9. }
  10.  
  11. ?>
f1xer
dodaj
  1. <?php
  2. echo "plik zostal zaladowany";
  3. echo'<a href="http://twojserwer.com/'.$location.'">tutaj mozesz go pobrac</a>';
  4. ?>


powinno zadziałać pod warunkiem że pliki zapisujesz w głównym folderze.
--Tomek--
wejdź sobiehttp://www.asdddp.yoyo.pl/
coś nie działa
--Tomek--
a tutaj screan
redelek
Cytat(--Tomek-- @ 10.10.2008, 14:14:40 ) *
a tutaj screan


Dobra.
Plik. index.php

  1. <?php
  2. $folder = dir('plik/');
  3.  
  4. echo '<ul>';
  5. while($plik = $folder->read()) echo '<li><a href="' .$plik. '">' .$plik. '</a></li>';
  6. echo '</ul>';
  7.  
  8. $folder->close();
  9. echo '<br />';
  10. echo '<a href="dodaj.php">Dodaj plik</a>';
  11. ?>


Do dopracowania bo wyświetla kropki czyli katalogi nadrzędne

dodaj.php

  1. <?php
  2. echo <<<FORM
  3. <form method="post" action="upload.php" enctype="multipart/form-data">
  4. <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  5.  
  6. Wybierz plik który chcesz umieścić na serwerze:<br>
  7.  
  8. <input type="file" name="pliczek" size="40"><br>
  9. <input type="submit" value="Wgraj plik">
  10. FORM;
  11. ?>


upload.php


  1. <?php
  2. $location = 'plik/' . basename($_FILES['pliczek']['name']);
  3.  
  4. if (move_uploaded_file($_FILES['pliczek']['tmp_name'], $location)) {
  5.  echo "Plik został załadowany poprawnie...";
  6. } else {
  7.  echo "Plik nie został załadowany...";
  8. }
  9. ?>


Do dopracowania, bo nie sprawdza czy taki plik jest na serwerku czy nie.

Wszystko można zamknać w jednym pliku ale bym to zakręcił, a widzę że coś musisz zrobić, a nie masz o tym pojęcia:)
To powinno Ci wystarczyć za poprawne CTRL +C i CTRL+V nie odpowiadam smile.gif
Jak Ci się nie uda tu możesz sobie to w całości pobrać
http://www.redelek.net/~predel/pliki.zip

W ostateczności gotowy upload z logowaniem i wszystkimi bajerami. Wystarczy zainstalować, a raczej rozpakować i przeslać na swój serwer.
Ładne ikonki i takie tam
http://autoindex.sourceforge.net/

Powodzenia
Redelek
--Tomek--
nadal nie wyświetla dałem twój skrypt zobacz na stronie
--Tomek--
już wszystko jasne wina hostingu na cba mi działa yoyo to szit
ale będę korzystał z mojego skryptu
Dzięki za zainteresowanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.